android:layout_gravity,android:layout_height和android:gravity属性的区

1  介绍

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

 

  (1).android:gravity:是对view控件本身来说的,是用来设置view本身的内容应该显示在view的什么位置,默认值是左侧。也可以用来设置布局中的控件位置

 

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

 

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

 

2  使用过程中失效

 

android:gravity : 表示当前View,即控件,内部的东西的,对齐方式

常见的是:

TableRow中的Button

EditText(内部)的文字

Button(内部)的文字

android:layout_gravity: 表示当前View,即控件本身,在父一级内的(即父一级控件所给当前子控件所分配的显示范围内)的对齐方式

常见的是:

当前EditText(在父一级LineLayout所分配给其的显示范围内)的对齐方式

当前的Button(在父一级TableRow所分配给其的显示范围内)的对齐方式 ->此处需要注意的是,很多时候,改变Button内的layout_gravity,常看不到改动的效果,是因为其显示范围和位置,已经由父一级的TableRow的gravity决定了。

3  android:layout_height

类似地,还可以使用android:layout_height来设置相对父布局向下偏移的量,出现layout_out就是相对父布局,只不过这里是相对父布局的高度偏移量而已,如下图所示:

android:layout_gravity,android:layout_height和android:gravity属性的区android:layout_gravity,android:layout_height和android:gravity属性的区android:layout_gravity,android:layout_height和android:gravity属性的区

4  android:layout_weight

可以通过android:layout_weight,android:layout_width,android:layout_height="wrap_content"这3个东西进行灵活配合来调控相对父布局的位置,如下图所示:

android:layout_gravity,android:layout_height和android:gravity属性的区

android:layout_gravity,android:layout_height和android:gravity属性的区android:layout_gravity,android:layout_height和android:gravity属性的区