默认情况下,Android 会把视图摆放在屏幕左侧,如果想要改变这样默认的布局,可以使用gravity属性,废话少说,直接上代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="right"
tools:context=".MainActivity"
>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
/>
</LinearLayout>
效果图如下
在这里,我们可以清楚的看到,在父控件中加入了 android:gravity="right" 之后,所有子控件都靠右了
下面我们再来测试一下 layout_gravity 这个属性,代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity"
>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
android:layout_gravity="right"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
/>
</LinearLayout>
效果图如下:
结果很明显,添加了 android:layout_gravity="right" 代码的子控件自己靠右了
总结:gravity 属性用在父控件中,以控制所有子控件相对于父控件中的大体布局位置,layout_gravity 属性用于子控件中,以控制自身在父控件中的大体布局位置