我知道我们可以为android设置以下值:gravity和android:layout_gravity财产:
居中中心_垂直center_horizontal等。
但我对这两者都感到困惑。
android:gravity和android:layout_gravity的用法有什么区别?
我知道我们可以为android设置以下值:gravity和android:layout_gravity财产:
居中中心_垂直center_horizontal等。
但我对这两者都感到困惑。
android:gravity和android:layout_gravity的用法有什么区别?
当前回答
android:gravity用于指定如何将对象的内容放置在对象本身中。换句话说,android:gravity用于指定视图内容的重力。
android:layoutgravity是孩子可以提供给父母的属性,用于指定父母内部视图的重力。
有关详细信息,请访问
http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html
其他回答
重力用于设置视图中的文本对齐方式,但layout_Gravity用于设置视图本身。举个例子,如果你想对齐editText中的文本,然后使用重力,你想对齐这个editText或任何按钮或任何视图,然后使用layout_gravity,所以非常简单。
他们的名字可以帮助您:
android:gravity设置其使用的视图的内容(即其子视图)的重力。android:layout_gravity设置视图或布局相对于其父对象的重力。
这里有一个例子。
我在Sandip的博客上看到了一些我差点错过的东西,解决了我的问题。他说layout_gravity不适用于LinearLayout。
如果你使用的是LinearLayout,而重力设置让你发疯(像我一样),那么就切换到其他设置。
我实际上切换到了RelativeLayout,然后在2个包含的TextView上使用layout_alignParentLeft和layout_aignParentRight,使它们在一行上向左和向右移动。
从我可以收集到的layout_gravity是该视图在其父视图中的重力,而重力是该视图中的子视图的重力。
我认为这是正确的,但找到答案的最佳方法是四处游玩。
我只是想在这里添加我自己的解释-来自iOS的背景,这是我如何在iOS术语中内化两者的:
布局重力会影响您在超级视图中的位置。重力会影响子视图在您体内的位置。
另一种说法是,布局重力定位你自己,而重力定位你的孩子。