栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android布局中gravity、layout

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android布局中gravity、layout

gravity使用区分

gravity:控制控件内文字的对齐方式,LinearLayout、RelativeLayout均生效

gravity是设置自身内部元素的对齐方式。比如一个TextView,则是设置内部文字的对齐方式。如果是ViewGroup组件如LinearLayout或RelativeLayout的话,则为设置它内部view组件的对齐方式。


layout_gravity:控件自身相当于父容器的对齐方式

layout_gravity是LinearLayout的一种控件对齐方式,可以把值设置成下列值:

center_vertical(垂直居中)、center_horizontal(水平居中)、center等

比如:一个TextView设置layout_gravity属性,则表示这TextView相对于父容器的对齐方式。


layout_centerHorizontal:控件自身相当于父容器的对齐方式

  1. layout_centerHorizontal是RelativeLayout相对布局的属性
  2. 若设置为true,就将该控件设置在相对于父控件水平居中的位置 android:layout_centerHorizontal="true"

使用实例

使用控件时应注意父控件或相对控件的width与height的属性,再进一步分析其他控件的具体属性设置

例:若想要使TextView居中

①结果显示不居中


②结果显示居中


解析:设置的TextView的layout_width为match_parent,而layout_centerHorizontal设置为true,表示将TextView位于父控件的中间,而父控件的宽度同样是match_parent(一般都默认设置为match_parent),这样就导致该TextView已经水平居中了,但是TextView中的文字没有居中,当我们把TextView固定长度后也就可以实现水平居中效果了


gravity属性设置

ViewGroup LinearLayout.LayoutParams.gravity 属性和View的setGravity()属性的区别:

  • ViewGroup LinearLayout.LayoutParams.gravity属性等同于XML布局中android:gravity属性是对该ViewGroup中内容的限定。
  • View的setGravity()属性等同于XML布局中android:layout_gravity,是用来设置该view相对与父view 的位置。
        val button = Button(this)
        button.text = "Android"
        val params: LinearLayout.LayoutParams =
            LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)
        // 此处相当于XML布局文件中的android:layout_gravity属性  
        params.gravity = Gravity.RIGHT
        button.layoutParams = lp
        // 此处相当于XML布局文件中的android:gravity属性  
        button.gravity = Gravity.CENTER

        val linear = LinearLayout(this)
        // 注意,对于LinearLayout布局来说,设置横向还是纵向是必须的!否则就看不到效果了。  
        linear.orientation = LinearLayout.VERTICAL
        linear.addView(button)
        setContentView(linear)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1006545.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号