android:layout_gravity和android:gravity
Posted 学无止境
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android:layout_gravity和android:gravity相关的知识,希望对你有一定的参考价值。
在安卓中这两个属性经常用,特地来总结一下:
android:layout_gravity:XML 里面的提示是这样的,Standard gravity constant that a child supplies to its parent. [flag],我大致翻译一下,一个由子view提供给父view用作指定位置的常量。
android:gravity:Specifies how to align the text by the view‘s x- and/or y-axis when the text is smaller than the view. [flag],文字有点长,大致意思就是该属性是决定如何决定view的内容的一个属性
android:layout_gravity 只能用于LinearLayout,在LinearLayout中,指定该布局才有效,即给控件或者布局制定该属性时,父布局必须是 LinearLayout才能指定,否则是没有该属性的,在xml里面也没有提示,特别的,当LinearLayout指定 android:orientation="vertical"时,android:layout_gravity只在水平方向有效;当 android:orientation="horizontal"时,改属性只在垂直方向有效。
注意,如果子view未居中,可能是因为layout_width或者layout_height属性为fill_parent了,改成wrap_content
1 LinearLayout里嵌套RelativeLayout:有效,当时反过来该属性就无效了 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="fill_parent" 4 android:layout_height="fill_parent" 5 android:orientation="vertical" > 6 7 <Button 8 android:layout_width="wrap_content" 9 android:layout_height="wrap_content" 10 android:text="aaa" /> 11 12 <Button 13 android:layout_width="wrap_content" 14 android:layout_height="wrap_content" 15 android:text="aaa" /> 16 17 <Button 18 android:layout_width="wrap_content" 19 android:layout_height="wrap_content" 20 android:text="aaa" /> 21 22 <RelativeLayout 23 android:gravity="center" 24 android:layout_width="fill_parent" 25 android:layout_height="fill_parent" 26 android:layout_gravity="center_vertical" > 27 28 29 <Button 30 android:id="@+id/button1" 31 android:layout_width="wrap_content" 32 android:layout_height="wrap_content" 33 android:text="Button" /> 34 </RelativeLayout> 35 36 </LinearLayout>
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 android:layout_width="fill_parent" 3 android:layout_height="fill_parent" 4 android:orientation="horizontal" > 5 6 <Button 7 android:layout_width="wrap_content" 8 android:layout_height="wrap_content" 9 android:text="aaa" /> 10 11 <LinearLayout 12 android:layout_gravity="center_vertical" 13 android:layout_width="fill_parent" 14 android:layout_height="wrap_content" > 15 16 <Button 17 android:layout_width="wrap_content" 18 android:layout_height="wrap_content" 19 android:text="aaa" /> 20 </LinearLayout> 21 22 </LinearLayout>
以上是关于android:layout_gravity和android:gravity的主要内容,如果未能解决你的问题,请参考以下文章
android:layout_gravity 和 android:gravity 之间的区别 [重复]
android:layout_gravity和android:gravity
android:layout_gravity和android:gravity的区别
Android UI布局之区分 android:gravity 和 android:layout_gravity