在我的情况下,我有两个文本视图,我希望它们在我的活动中居中。
问题出在我使用时:
android:gravity="center_vertical|center_horizontal"
android:layout_centerInParent="true"
两个文本视图在彼此之上,我使用LinearLayout
作为父级。
答案 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属性设置为“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>
知道差异绝对是一个好主意,但我不打算为你查找。