android: layout_gravity和android:重力的区别

  

<强> 1。首先来看看Android: layout_gravity和Android:重力的使用区别。

  

  

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

  

android:重力=白蟆焙蚢ndroid:文本=疤峤弧?这时按钮上的文字“提交”将会位于按钮的左部。

  

  

这个是针对控件本身而言,用来控制该控件在包含该控件的父控件中的位置。同样,当我们在按钮按钮控件中设置android: layout_gravity=白蟆笔粜允?表示该按钮按钮将位于界面的左部。

  

<强> 2。属性值:

  

这两个属性可选的值有:顶部,下,左,右,center_vertical, fill_vertical, center_horizontal, fill_horizontal,中心,填补,clip_vertical。

  

一个属性可以包含多个值,需用“|”分开。其含义如下:

  

           前   将对象放在其容器的顶部,不改变其大小。         底   将对象放在其容器的底部,不改变其大小。         左   将对象放在其容器的左侧,不改变其大小。         正确的   将对象放在其容器的右侧,不改变其大小。         center_vertical   将对象纵向居中,不改变其大小只
  垂直对齐方式:垂直方向上居中对齐。         fill_vertical   必要的时候增加对象的纵向大小,以完全充满其容器只
  垂直方向填充         center_horizontal   将对象横向居中,不改变其大小只
  水平对齐方式:水平方向上居中对齐         fill_horizontal   必要的时候增加对象的横向大小,以完全充满其容器只
  水平方向填充         中心   将对象横纵居中,不改变其大小。         填满   必要的时候增加对象的横纵向大小,以完全充满其容器。         clip_vertical      

附加选项,用于按照容器的边来剪切对象的顶部和/或底部的内容。剪切基于其纵向对齐设置:顶部对齐时,剪切底部;底部对齐时剪切顶部,除此之外剪切顶部和底部。

  

垂直方向裁剪

           clip_horizontal      

附加选项,用于按照容器的边来剪切对象的左侧和/或右侧的内容。剪切基于其横向对齐设置:左侧对齐时,剪切右侧;右侧对齐时剪切左侧;除此之外剪切左侧和右侧。

  

水平方向裁剪

              

  

我们主要来看看center_vertical和center_horizontal两个属性值,

  

center_vertical是指将对象在垂直方向上居中对齐,即在;center_horizontal是指将对象水平方向上居中对齐,即在。

  

<强> 3。特殊情况

  

当我们采用LinearLayout布局时,有以下特殊情况需要我们注意:

  

只有水平方向的设置才起作用,垂直方向的设置不起作用。即:左,右,center_horizontal是生效的。

  

只有垂直方向的设置才起作用,水平方向的设置不起作用。即:顶部,底部,center_vertical是生效的。

  

下面以一个例子说明:(本例来源于:http://blog.csdn.net/dekunchenivan/article/details/6718678)

        & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt; LinearLayout xmlns: android=" http://schemas.android.com/apk/res/android "   android:取向=按怪薄?   android: layout_width="宽和"   android: layout_height="宽和"   比;   & lt; TextView   android: layout_width=" 100下降”   android: layout_height=" 100下降”   android: layout_gravity="底部| center_horizontal”   android:重力="中心|底”   android:背景=" # 00 ff00”   android:文本=" @string/textview”/比;      & lt;按钮   android: layout_width=" 100下降”   android: layout_height=" 100下降”   android: layout_gravity="下|左"   android:重力="左|上"   android:背景=" # FF0000 "   android:文本=" @string/按钮”/比;   & lt;/LinearLayout>之前      

其效果如图:,

  

 android: layout_gravity和android:重力的区别

  

在TextView中,我们设置了<代码> android: layout_gravity=暗讄 center_horizontal”,> android: layout_gravity和android:重力的区别