Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android布局中居中放置多个视图?_Android_Android Layout - Fatal编程技术网

如何在Android布局中居中放置多个视图?

如何在Android布局中居中放置多个视图?,android,android-layout,Android,Android Layout,在我的例子中,我有两个文本视图,我希望它们在我的活动中居中 问题是当我使用: android:gravity="center_vertical|center_horizontal" android:layout_centerInParent="true" 这两个文本视图彼此位于上方,我使用LinearLayout作为父视图。android:layout\u centerInParent=true仅对RelativeLayout有效。您应该删除垂直和基于父视图的部分,只保留 android:gr

在我的例子中,我有两个文本视图,我希望它们在我的活动中居中

问题是当我使用:

android:gravity="center_vertical|center_horizontal"
android:layout_centerInParent="true"

这两个文本视图彼此位于上方,我使用LinearLayout作为父视图。

android:layout\u centerInParent=true仅对RelativeLayout有效。

您应该删除垂直和基于父视图的部分,只保留

android:gravity="center_horizontal"
对于这两个文本视图

如果第一个文本视图垂直居中就足够了,那么您可以将其设置为| center_vertical,并使用下面的android:layout_将第二个文本视图绑定到此文本视图


如果需要这些文本视图正好位于活动的垂直中心,然后,您应该将它们封装到另一个文件中,例如使用android:height=wrap\u content和android:layout\u centerInParent=true的LinearLayout在RelativeLayout或android:gravity=center\u vertical | center\u horizontal。请尝试将LinearLayout的方向属性设置为horizontal:

<LinearLayout blah blah android:orientation="Horizontal"></LinearLayout>
注意:如果需要,这将告诉LinearLayout您希望元素如何堆叠 如果你不定义它,那么它就不会 正确堆叠,请参阅我的 下面的图表是一个解释

设置此属性时,元素将彼此相邻

水平的

[x] [x]

垂直的

[x]

[x]

要记住的另一件事是,在线性布局中居中元素所需做的全部工作如下:

<LinearLayout blah blah android:gravity="center"></LinearLayout>
如果这不起作用,请尝试以下方法:

<LinearLayout blah blah android:layout_gravity="center"></LinearLayout>

了解两者之间的区别绝对是个好主意,但我不会为您查找。

您能发布完整的XML代码吗?谢谢,它成功了!这是一个结果: