原文地址:android:layout_gravity和android:gravity属性的区别


gravity的中文意思就是”重心“,就是表示view横向和纵向的停靠位置


android:gravity:是对view控件本身来说的,是用来设置view本身的文本应该显示在view的什么位置,默认值是左侧

android:layout_gravity:是相对于包含改元素的父元素来说的,设置该元素在父元素的什么位置


比如TextView: android:layout_gravity表示TextView在界面上的位置,android:gravity表示TextView文本在TextView的什么位置,默认值是左侧


如下例子

[html] view plain copy
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <TextView
  8. android:layout_width="100dip"
  9. android:layout_height="100dip"
  10. android:layout_gravity="bottom|center_horizontal"
  11. android:gravity="center|bottom"
  12. android:background="#00FF00"
  13. android:text="@string/textview"
  14. />
  15. <Button
  16. android:layout_width="100dip"
  17. android:layout_height="100dip"
  18. android:layout_gravity="bottom|left"
  19. android:gravity="left|top"
  20. android:background="#FF0000"
  21. android:text="@string/button"
  22. />
  23. </LinearLayout>

『ANDROID』android:layout_gravity和android:gravity属性的区别_第1张图片


注意,TextView并没有按照我们设置的android:layout_gravity属性那样显示在界面的下方正中央,Button也没有显示在界面的左下方。这是因为我们设置了LinearLayout的android:orientation属性为"vertical"。对于LinearLayout如果设置android:orientation="vertical",那么android:layout_gravity的设置只在水平方向生效,如上图TextView显示在屏幕的水平正中央,而Button显示在水平方向的最左边;如果设置android:orientation="horizontal",那么android:layout_gravity属性只在垂直方向生效


更多相关文章

  1. Android下xml中RelativeLayout布局常见属性
  2. Android 关于android:name属性问题
  3. RelativeLayout 相对布局属性
  4. android:screenOrientation属性(设置横屏竖屏)
  5. Android Activity动画属性简介
  6. Android 中Edittext属性集合

随机推荐

  1. you (oracle) are not allowed to access
  2. 熔断器 Hystrix 源码解析 —— 断路器 Hy
  3. dubbo-go 白话文 | 从零搭建 dubbogo 和
  4. 页面审核工具 Chrome Lighthouse 简介[每
  5. linux系统操作系统网卡漂移解决方案及问
  6. 老大吩咐的可重入分布式锁,终于完美的实现
  7. 谁再悄咪咪的吃掉异常,我上去就是一 JIO
  8. 一只菜鸡的半年技术博客之路
  9. 从一份定义文件详解ELK中Logstash插件结
  10. linux系统重启操作系统后报错提示An erro