gravity与Layout_gravity的区别

来源:互联网 发布:免备案空间域名 编辑:程序博客网 时间:2024/04/29 09:00

区别


gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思。
layout_gravity 是LinearLayout 子元素的特有属性。

对于layout_gravity, 该属性用于设置控件相对于容器的对齐方式,可选项有:top、bottom、left、right、center_vertical、fill_vertical 、 center、fill等等。这些可选项中不是适用于每一种布局。在垂直线性布局中,android:gravity为bottom不起作用;而水平线性布局中,android:gravity为right不起作用。
android:layout_gravity 只在 LinearLayout 和 FrameLayout 中有效


  android:gravity 是设置该view里面的内容相对于该view的位置

演示效果一 、在layout_gravity在RelativeLayout中不起作用 (android:layout_gravity 只在 LinearLayout 和 FrameLayout 中有效
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <ImageView        android:id="@+id/iv_pic1"        android:layout_width="120dp"        android:layout_height="120dp"        android:layout_gravity="center"        android:src="@mipmap/p1"        /></RelativeLayout



演示效果二 
在线性布局中,垂直方向 layout_gravity=center 在垂直方向显示不出效果
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <ImageView        android:id="@+id/iv_pic1"        android:layout_width="120dp"        android:layout_height="120dp"        android:layout_gravity="center"        android:src="@mipmap/p1"        /></LinearLayout>






演示效果三 

在线性不居中的水平方向,layout_gravity=center在水平方向显示不出效果

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="horizontal">    <ImageView        android:id="@+id/iv_pic1"        android:layout_width="120dp"        android:layout_height="120dp"        android:layout_gravity="center"        android:src="@mipmap/p1"        /></LinearLayout>


演示效果四


对于gravity = center,在上面的几个布局中不管是父布局线性布局变为水平布局还是改变orientation方向,不会影响到

android:gravity="center"所起到的作用


0 0