将Android布局从相对布局更改为线性布局。

9

我刚开始做安卓应用,但是在改变布局(layout)时遇到问题。每当我创建新的安卓项目时,它都给我一个RelativeLayout而不是LinearLayout(基本上我是按照书上的指示来操作的,但是书上没有教我如何更改)。我猜想可能有一个默认设置,使我可以将RelativeLayout更改为LinearLayout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="@string/hello_world"
    tools:context=".MainActivity" />

</RelativeLayout>
6个回答

19

替换以下标签:

<RelativeLayout
    ... >

</RelativeLayout>

由这些人:
<LinearLayout
    ... >

</LinearLayout>

此外,您应该从TextView属性中删除以下内容:
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"

由于它们适用于相对布局而不是线性布局。

如果你想要这样的效果,你应该添加android:orientation="vertical" - 默认情况下是horizontal - mgarciaisaia

7
如果您正在使用Eclipse,只需右键单击,更改布局并选择所需的布局即可。

示例图片:

enter image description here


所有其他答案也是正确的,直接更改xml中的文本确实是一种更简单的方法,但这就是我要找的——如何用“eclipse”的方式来做。谢谢。 - Noam Gal
1
@RainwalkerJake,你知道Android Studio中是否有类似的功能吗?默认似乎总是相对布局,我直到太晚才意识到,而且很讨厌没有像Eclipse中那样轻松地切换到线性布局的简单方法。 - WORMSS

7

要更改layout XML文件的Parent,请按照以下步骤操作:

  • 在Eclipse的项目文件中,右键单击res文件夹下的layout文件夹(<project-folder/res/layout>
  • 选择选项New -> Other...。参考图片:select layout folder
  • 从这里选择Android Layout XML file选项。 enter image description here
  • Next按钮并将Root Element选择为LinearLayout,然后输入File Name。按完成按钮enter image description here
  • 现在,您的Layout XML将以LinearLayout作为根元素。

这些操作 不能 更改默认的 root 布局。 - SAYE
@sam,我提到了在Eclipse中创建一个带有不同根元素的新布局XML文件的步骤。当时,这个答案被主题发起者接受了。也许他现在正在寻找类似的解决方案。 - sunil
是的!但是现在在Android Studio中你不能这样做。因为在谷歌搜索中,这个问题排名第一,所以我想提供帮助。 - SAYE
@sam 在Android Studio中,您只需在起始标记中键入即可更改父布局。Android Studio将自动更改闭合标记。或者您是在寻找其他内容吗? - sunil
我是指在创建新布局时更改默认的根“Layout”。否则,所有布局的默认根元素都是“constraintlayout”,您可以更改它。 - SAYE
@sam 我明白了...我理解你的意思。请查看此SO线程https://dev59.com/hlgQ5IYBdhLWcg3wxGpP#42261842。请查看`nexus5geozhi qAmir Poursadegh`的第三个答案。 - sunil

4

您只需要将此标签<RelativeLayout ...>更改为<LinearLayout ...>,并确保使用相同的布局关闭它


2
在最新版本的Android Studio中,我认为以下是实现该操作的方法:
前往res->layout文件夹,在其上右键单击,会弹出一个侧边栏,询问您想创建什么类型的文件。
选择“前往” -> “编辑文件模板”选项。

enter image description here

您将看到此对话框已打开。在“其他”选项卡中,您可以看到这两个选项:LayoutResourceFile.xml和LayoutResourceFile_vertical.xml。

enter image description here

将这两个名为LayoutResourceFile.xmlLayoutResourceFile_vertical.xml的文件中的${ROOT_TAG}改为LinearLayout,以后你将始终得到一个父级为LinearLayout的布局。

Change


0
当您创建新的XML文件时,可以为其分配布局。但是,当您创建新项目时,无法更改布局,必须在创建项目后更改它。因此,请转到XML文件中的.xml选项卡,您可以在那里编辑布局。希望这可以帮助您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接