如何在Android布局中居中显示多个视图?

时间:2011-04-27 20:45:56

标签: android android-layout

在我的情况下,我有两个文本视图,我希望它们在我的活动中居中。

问题出在我使用时:

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

两个文本视图在彼此之上,我使用LinearLayout作为父级。

3 个答案:

答案 0 :(得分:0)

android:layout_centerInParent="true"仅对RelativeLayout有效。

答案 1 :(得分:0)

您应该删除垂直和基于父的部分,并只留下

android:gravity="center_horizontal"

对于TextViews

如果足够,则第一个TextView垂直居中,然后您可以将其设置为|center_vertical,并将第二个与android:layout_below绑定到此。

如果您需要这些文本视图完全位于活动的垂直中心,那么您应该将它们封装到另一个(例如线性)布局中,其中包含android:height="wrap_content"android:layout_centerInParent="true"(在{{1}中}}或RelativeLayout

答案 2 :(得分:0)

尝试将LinearLayout的Orientation属性设置为“Horizo​​ntal”:

<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>

知道差异绝对是一个好主意,但我不打算为你查找。