[英]How do I center several views in an Android layout?
就我而言,我有两个文本视图,我希望它们以我的活动为中心。
问题是当我使用:
android:gravity="center_vertical|center_horizontal"
android:layout_centerInParent="true"
两个文本视图在彼此之上,我使用LinearLayout
作为父级。
android:layout_centerInParent="true"
仅对RelativeLayout
有效。
您应该删除垂直和基于父级的部分,只留下
android:gravity="center_horizontal"
对于两个TextViews
。
如果足够,第一个 TextView 垂直居中,那么您可以将其设置为|center_vertical
,并使用android:layout_below
将第二个绑定到这个。
如果您需要这些文本视图恰好位于活动的垂直中心,那么您应该使用android:height="wrap_content"
和android:layout_centerInParent="true"
(在RelativeLayout
中)将它们封装到另一个(例如线性)布局中或android:gravity="center_vertical|center_horizontal"
。
尝试将 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>
知道区别绝对是个好主意,但我不会为你查找。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.