简单来说,
android:gravity这个属性是对该view里面的内容的限定.比如一个button 上面的text,另外,需要强调的是linearlayout等也都是view,所以要设置linearlayout里控件的对齐方式也可以在linearlayout中用android:gravity这个属性;
android:layout_gravity是用来设置该view自身相对与其父view 的位置.比如一个button 在linearlayout里,你想把该button放在靠左或者靠右等位置就可以通过设置button的这个属性来实现。
总得来说,android:gravity这个属性是设置她的孩子的对其方式;android:layout_gravity是用来设置自己在父亲里的对齐方式。
下面来看一个例子就更加明白了:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="right" ><!--此行设置孩子组件的对齐方式--> <Button android:id="@+id/buttonRadioGroup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="radioGroup" android:layout_gravity="right" /><!--此行与第六行的作用相同,但是优先级高于 第六行(即把此行的right改为center,组件将居中!)--> <Button android:id="@+id/buttonSpinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="spinner" android:gravity="center" /><!--此行设置button的孩子(显示文本)对齐方式--> </LinearLayout>