Android中layout_gravity和gravity的区别
时间: 2024-10-29 17:16:32 浏览: 14
Android中gravity与layout_gravity的使用区别分析
在Android布局设计中,`android:layout_gravity` 和 `android:gravity` 都是用来控制控件在容器内如何对齐的属性,但它们的作用范围和处理的对象有所不同。
`android:layout_gravity` 是用于LinearLayout、RelativeLayout等视图组(viewgroup)内部布局元素的对齐。它是在设置整个视图组内的某个子View的位置时使用的,如将一个TextView放置在LinearLayout的中心或是底部。例如:
```xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_vertical">
<TextView
android:text="Hello"
android:layout_gravity="center_horizontal"/>
</LinearLayout>
```
这里的`center_horizontal`会让TextView在LinearLayout的水平方向上居中。
而 `android:gravity` 属性则适用于所有支持此属性的组件,包括TextView、ImageView、Button等单个控件,以及FrameLayout等视图,它影响的是控件内容区域的对齐。比如让一个TextView的内容顶部对齐父容器:
```xml
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="top|start" />
```
这里,`top` 表示内容顶部对齐,`start`(在API 21及以上版本)表示文本从左侧开始。
阅读全文