android:gravity / android:layout_gravity区别:

android:gravity 是设置该view类里面的内容相对于该view的位置,例如设置button里面的text相对于view的靠左,居中等位置。(也可以在Layout布局属性中添加,设置Layout中组件的位置)

android:layout_gravity 是用来设置该view相对与父view的位置,例如设置button在layout里面的相对位置:屏幕居中,水平居中等。

即android:gravity用于设置View中内容相对于View组件的对齐方式,而android:layout_gravity用于设置View组件相对于Container的对齐方式。

说的再直白点,就是android:gravity只对该组件内的东西有效,android:layout_gravity只对组件自身有效

android:layout_gravity 只在 LinearLayout 和 FrameLayout 中有效:

①对于 LinearLayout :

当 android:orientation="vertical"  时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。

当 android:orientation="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。

②对于 FrameLayout :

任意android:layout_gravity属性都有效,可以非常方便实现对组件的布局。

我们来看我们在项目中如何实现下面的这样一个布局:

我们有个一个标题栏,我们可以使用anctionbar来实现

其中+表示添加联系人,通信录要居中

我们如何实现了

假设:我们在外面先定义一个线性布局,水平排列

其中在定义两个线性布局,但是这样我们无法使用

android:layout_gravity="center_horizontal">因为父控件是水平方式的,我们就无法让通信录居中

下面我们如何让通信录居中了,我们可以把最外面的布局定义为相对布局:

代码如下:

android:layout_width="fill_parent"

android:layout_height="48dp"

android:background="#e7e7e7"

android:layout_gravity="center_horizontal">

android:id="@+id/add"

android:layout_width="25dp"

android:layout_height="25dp"

android:background="@drawable/add1"

android:layout_marginLeft="20dp"

android:layout_centerVertical="true"/>

android:layout_width="100dp"

android:layout_height="fill_parent"

android:text="通信录"

android:textColor="#333333"

android:gravity="center"

android:textSize="25sp"

android:layout_centerHorizontal="true"

/>

这样我们可以让添加联系人垂直居中显示,通讯录水平方向居中显示

android gravity 代码,android:layout_gravity和android:gravity属性的区别相关推荐

  1. android写代码截屏微信,android 模仿微信头像裁剪

    android 在android开发中经常会碰到修改头像的功能需求, 而在修改头像>中最难的部分就是在头像的裁剪功能.虽说网上一大堆裁剪的例子,但最重要的是要理解里面的实现原理,这样以后自己改起 ...

  2. android 字体代码是什么字体,Android上的CSS字体

    我正在使用@ font-face在网站上显示联盟哥特式,但它并没有显示在 Android 1.6上.这是我的代码,生成与 Font Squirrel's @font-face generator @f ...

  3. android 弹窗代码大全,36个Android开发常用经典代码大全

    //36个Android开发常用代码片段 //拨打电话 public static void call(Context context, String phoneNumber) { context.s ...

  4. android驱动代码,GitHub - rumengsuifeng/AndroidDrivers: Android驱动的代码

    1. 创建hardware目录,在该目录下创建HardCor.java文件(参考HelloWorldActivity.java文件) 2. 在build.gradle(app路径)文件中添加指定so文 ...

  5. android 网络代码是什么意思,Android判断网络状态的代码

    本文实例为大家分享了Android判断网络状态的具体代码,供大家参考,具体内容如下 一.权限 需要在AndroidManifest.xml 添加访问权限 二.判断连接状态 /** * 判断是否有网络连 ...

  6. android将代码提交到github,[Android Studio使用][将AS上的代码提交到github]

    1.落笔缘由 之前断断续续都有在AS上传代码到github上,但是每次都忘了传的步骤,然后又是上网搜索"将AS上的代码提交到github".好蛋疼,记忆力太差了,所以做个比较记录一 ...

  7. android java代码重启,如何在Android中重启服务?

    has anyone know how to restarting a service in android?? i have a service that called when device is ...

  8. android国家代码的获取方式,Android WiFi 获取国家码

    记录一下Android获取国家码的方式 Wifi 国家码获取途径 1.DefaultCountryTablefield in WCNSS_qcom_wlan_nv.bin-read during dr ...

  9. Android之gravity=“center_vertical“和layout_gravity=“center“的效果

    1.两控件分别加上2个下面的属性 gravity="center_vertical" android:layout_gravity="center" 代码如下 ...

最新文章

  1. Linux之vim中翻页的命令
  2. Selenium Web 自动化 - 如何找到元素
  3. mysql 联合索 B 树_MySQL 索引与 B+ 树
  4. 数学之路(3)-机器学习(3)-机器学习算法-神经网络[19]
  5. mysql初体验学习笔记_MySQL数据库初体验
  6. python方差的计算公式为什么减一_样本标准差分母为何是n-1
  7. 在Windows Server 2016 Core上运行SQL Server容器
  8. CentOS6/CentOS7系统配置IPv6地址的方法
  9. JavaScript JSON.stringify()
  10. FLUX-TMS-物流整体解决方案 附下载地址
  11. 密码找回、带星号密码查看解决方案
  12. AriaNg 无法连接 aria
  13. JOptionPane和图标的用法
  14. 电脑端如何多开微信 如何用命令行打开程序(将快捷方式复制到C:\Windows\System32目录下)
  15. 阈值法进行边缘检测matlab
  16. 如何在Github上为开源贡献力量?
  17. 实验四 数码管显示设计与仿真
  18. android 撕衣服,Android初体验之撕衣服项目
  19. 一篇文章入门 Redis(万字长文干货)
  20. ssm之地区表三级联动

热门文章

  1. 三国群英传霸业之王服务器维护,20200825维护公告
  2. Mina学习(4):实现自定义编解码器并解决半包,丢包,粘包问题
  3. 极狐阿尔法 S 华为公司自动驾驶体验:100 分鐘无对接,体验类似人工操作
  4. 【机试题(实现语言:python3)】学英语-递归或字符串
  5. 海康机器人线激光立体相机获取体积测量开始时间点和结束测量时间点以及包裹四个顶角位置信息的可行办法
  6. 宠物狗网页制作作业 保护动物网页设计模板 简单学生网页设计 静态HTML CSS网站制作成品
  7. 数据结构:静动图结合,活灵活现 讲解—— 堆排序, 直接选择排序
  8. 温习Android基础知识——《第一行代码(第三版)》读书笔记 Chapter 2 Kotlin语法
  9. Uber的优劣势分析
  10. 学习记录 - Simpack之轨道车辆如何生成车轮不圆