android:gravity="center_vertical"
在一个LinearLayout布局中,若一个控件有属性android:gravity="center_vertical",我查了资料,它表示将该控件垂直居中显示。问题:这...
在一个LinearLayout布局中,若一个控件有属性android:gravity="center_vertical",我查了资料,它表示将该控件垂直居中显示。
问题:
这个垂直居中是怎么理解呢?垂直于哪里呢?以什么为参考物居中呢? 展开
问题:
这个垂直居中是怎么理解呢?垂直于哪里呢?以什么为参考物居中呢? 展开
3个回答
展开全部
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>
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 广告
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企...
点击进入详情页
本回答由Storm代理提供
展开全部
gravity是对控件自身来说的,控件在他的父亲中的位置
layout_gravity是对控件的子控件而言的
layout_gravity是对控件的子控件而言的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
噗,我觉得一楼说的很清楚了,gravity是控制控件的内容在控件上的位置,你怎么还纠结在什么 子控件,你对gravity任务的理解得正确呀!至于你的附加问题,这种事情,我觉得自己直接写一个布局来看下不是最好吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |