首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Android布局中居中显示多个视图?

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

Stack Overflow用户
提问于 2011-04-28 04:45:56
回答 3查看 285关注 0票数 1

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

问题是当我使用:

代码语言:javascript
代码运行次数:0
运行
复制
android:gravity="center_vertical|center_horizontal"
android:layout_centerInParent="true"

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-28 04:54:15

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

代码语言:javascript
代码运行次数:0
运行
复制
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"将它们封装到其他(例如,线性)布局中。

票数 0
EN

Stack Overflow用户

发布于 2011-04-28 04:53:55

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

票数 0
EN

Stack Overflow用户

发布于 2011-04-28 05:06:14

尝试将LinearLayout的Orientation属性设置为"Horizontal":

代码语言:javascript
代码运行次数:0
运行
复制
<LinearLayout blah blah android:orientation="Horizontal"></LinearLayout>

备注:它告诉LinearLayout您希望如何堆叠元素,如果您没有定义它,那么它将无法正确地堆叠它们,请参阅下面的图表以获得解释。

当你设置这个属性的时候,它的元素将会紧挨着其他元素。

水平

X

垂直

X

X

另一件要记住的事情是,在线性布局中居中元素所需要做的就是:

代码语言:javascript
代码运行次数:0
运行
复制
<LinearLayout blah blah android:gravity="center"></LinearLayout>

如果这不起作用,试试这个:

代码语言:javascript
代码运行次数:0
运行
复制
<LinearLayout blah blah android:layout_gravity="center"></LinearLayout>

知道其中的区别绝对是个好主意,但我不会帮你去查。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5810361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档