本帖最后由 liu 于 2018-11-30 15:39 编辑
gravity与layout_gravity的使用和区别
Android新手开发之旅【目录】
1、android:gravity
指的是对于View控件本身来说的,使用此属性来设置View控件中内容的位置
2、android:layout_gravity
指的是当前控件在父控件中的对齐方式
这两个属性可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical,不设置的话默认值是Gravity.LEFT
这些值可以多选,例如:android:gravity=“right|bottom”
举个android:gravity例子:
[XML] 纯文本查看 复制代码 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="100dp"
android:layout_height="60dp"
android:layout_marginTop="20dp"
android:background="@color/colorAccent"
android:gravity="bottom"
android:text="大家好"
android:textColor="@android:color/black"
android:textSize="18sp" />
<TextView
android:layout_width="100dp"
android:layout_height="60dp"
android:layout_marginTop="20dp"
android:background="@color/colorAccent"
android:gravity="right"
android:text="大家好"
android:textColor="@android:color/black"
android:textSize="18sp" />
<TextView
android:layout_width="100dp"
android:layout_height="60dp"
android:layout_marginTop="20dp"
android:background="@color/colorAccent"
android:gravity="top"
android:text="大家好"
android:textColor="@android:color/black"
android:textSize="18sp" />
<TextView
android:layout_width="100dp"
android:layout_height="60dp"
android:layout_marginTop="20dp"
android:background="@color/colorAccent"
android:gravity="right|bottom"
android:text="大家好"
android:textColor="@android:color/black"
android:textSize="18sp" />
</LinearLayout>
实现效果:
android:layout_gravity例子:
第一个:
[XML] 纯文本查看 复制代码 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="100dp"
android:layout_height="60dp"
android:layout_gravity="right"
android:background="@color/colorAccent"
android:gravity="center"
android:text="大家好"
android:textColor="@android:color/black"
android:textSize="18sp" />
<TextView
android:layout_width="100dp"
android:layout_height="60dp"
android:background="@color/colorAccent"
android:gravity="center"
android:text="大家好"
android:textColor="@android:color/black"
android:textSize="18sp" />
</LinearLayout>
实现效果:
第二个:
[XML] 纯文本查看 复制代码 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:layout_width="100dp"
android:layout_height="60dp"
android:layout_gravity="bottom"
android:background="@color/colorAccent"
android:gravity="center"
android:text="大家好"
android:textColor="@android:color/black"
android:textSize="18sp" />
<TextView
android:layout_width="100dp"
android:layout_height="60dp"
android:background="@color/colorAccent"
android:gravity="center"
android:layout_gravity="top"
android:text="大家好"
android:textColor="@android:color/black"
android:textSize="18sp" />
</LinearLayout>
实现效果:
注意:
对于 LinearLayout 当android: orientation= "vertical" 时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。 当 android: orientation= "horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。
|