1.首先来看看android:layout_gravity和android:gravity的使用区别。

android:gravity:

这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置。例如,在一个Button按钮控件中设置如下两个属性,

android:gravity=”left”和android:text=”提交”,这时Button上的文字“提交”将会位于Button的左部。

android:layout_gravity:

这个是针对控件本身而言,用来控制该控件在包含该控件的父控件中的位置。同样,当我们在Button按钮控件中设置android:layout_gravity=”left”属性时,表示该Button按钮将位于界面的左部。

2.属性值:

这两个属性可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。
一个属性可以包含多个值,需用“|”分开。其含义如下:

我们主要来看看center_vertical和center_horizontal两个属性值,center_vertical是指将对象在垂直方向上居中对齐,即在从上到下的方向上选择中间的位置放好;center_horizontal是指将对象水平方向上居中对齐,即在从左到右的方向上选择中间的位置放好。

3.特殊情况
当我们采用LinearLayout布局时,有以下特殊情况需要我们注意:
(1)当 android:orientation=”vertical” 时, android:layout_gravity只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。
(2)当 android:orientation=”horizontal” 时, android:layout_gravity只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。

下面以一个例子说明:

<?xml version="1.0" encoding="utf-8"?>  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" >      <TextView android:layout_width="100dip" android:layout_height="100dip" android:layout_gravity="bottom|center_horizontal" android:gravity="center|bottom" android:background="#00FF00" android:text="@string/textview" />      <Button android:layout_width="100dip" android:layout_height="100dip" android:layout_gravity="bottom|left" android:gravity="left|top" android:background="#FF0000" android:text="@string/button" />  </LinearLayout>  

其效果如图:
Android深入理解android:layout_gravity和android:gravity_第1张图片

转载:http://blog.csdn.net/shakespeare001/article/details/7843460

更多相关文章

  1. Android中xml的部分属性
  2. android Switch控件
  3. Android Studio Android UI控件学习笔记
  4. Android RelativeLayout属性大全(中文解释)
  5. View 控件EditText属性
  6. Android中常用布局属性
  7. Android 基本控件Text属性

随机推荐

  1. 关于getSharedPreferences 使用注意条件
  2. android资源管理和使用资源 (2015.12.1)
  3. android 蓝牙开发 蓝牙 bluetoothsocket
  4. 获取android配置文件的版本信息
  5. Android开源DiscreteSeekbar:动画气泡指示
  6. android的多媒体数据库
  7. Android上的OpenVPN-TAP模式/策略路由
  8. 手动安装配置Android(安卓)Studio
  9. android 启动过程及init.rc
  10. 【Android】Error[*,*]Could not find met