android:gravity="center_vertical"

在一个LinearLayout布局中,若一个控件有属性android:gravity="center_vertical",我查了资料,它表示将该控件垂直居中显示。问题:这... 在一个LinearLayout布局中,若一个控件有属性android:gravity="center_vertical",我查了资料,它表示将该控件垂直居中显示。
问题:
这个垂直居中是怎么理解呢?垂直于哪里呢?以什么为参考物居中呢?
展开
 我来答
a173060244
2012-11-26 · TA获得超过341个赞
知道答主
回答量:218
采纳率:0%
帮助的人:86.5万
展开全部
android:gravity="center_vertical" 这个的意思是指 限定它里面的内容要垂直居中显示。
android:layout_gravity="center_vertical",这个是指它的位置是相对于它父亲的垂直居中。
比如:
//第一种:里面的内容都要垂直居中显示,是由父类限定子控件的位置,每个子控件都要满足这个条件。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical" //这个指里面的子内容要垂直居中显示
>
<TextView 这个 就会垂直居中显示
android:layout_width="wrap_context"
android:layout_height="wrap_context"/>
/>
</LinearLayout>
//第二种:是子控件自己去排位置,每个控件可以设置不同的
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="wrap_context"
android:layout_height="wrap_context"
android:layout_gravity="center_vertical" //这个就是让他相对于父亲的垂直中间显示。
/>
</LinearLayout>
追问
谢谢您的回答,但是,您没有弄懂我的疑惑,您所说的gravity与layout_gravity我是理解他们的区别的。
我所不理解的是:center_vertical所谓的“垂直居中”在我脑子中的图像到底是怎样。垂直,子控件垂直于谁呢?居中又相对于谁来说?
附加问题:若在一个LinearLayout中有两个textview,若他们两个都有android:layout_gravity="center_vertical这个属性,那么他们两个在父控件中的位置是怎么样的呢?
追答

我刚测试过了,这个跟android:orientation="horizontal" (水平)和android:orientation="vertical" (垂直),父控件的     android:gravity="center_horizontal" 或者是center_vertical 不同而不同。 你还是亲自去测试一下吧  写简单的布局 就一个LinearLayout 和两个TextView  。

我自己简单的总结了下: LinearLayout 选择orientation="horizontal"  就是相当于

 如果LinearLayout 选择了     android:gravity="center_horizontal",就是水平方向上要居中开始 那么textView(这里暂时没有设置别的属性) 就会从中间位置开始显示

 

如果这个时候第一个TextView 选择了   android:layout_gravity="center_vertical",就是相对于父控件的垂直方向中间(在这里就是相对于3这个版块的中间)

剩下的你自己去测试总结吧 

Storm代理
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企... 点击进入详情页
本回答由Storm代理提供
50954265
2012-11-26 · TA获得超过255个赞
知道答主
回答量:340
采纳率:0%
帮助的人:99.9万
展开全部
gravity是对控件自身来说的,控件在他的父亲中的位置

layout_gravity是对控件的子控件而言的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
freewangfeifei
2012-11-27 · TA获得超过695个赞
知道小有建树答主
回答量:612
采纳率:0%
帮助的人:502万
展开全部
噗,我觉得一楼说的很清楚了,gravity是控制控件的内容在控件上的位置,你怎么还纠结在什么 子控件,你对gravity任务的理解得正确呀!至于你的附加问题,这种事情,我觉得自己直接写一个布局来看下不是最好吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式