Android布局学习——android:gravity和android:layout_gravity的区别

[Android布局学习系列]

  1.Android 布局学习之——Layout(布局)详解一

  2.Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)

  3.Android 布局学习之——LinearLayout的layout_weight属性

  4.Android 布局学习之——LinearLayout属性baselineAligned的作用及baseline

 

1.分别是什么?

   android:gravity :

       定义了一个对象在X,Y坐标轴,在它自己的边界内,应该如何放置它的内容。是上(top)还是下(bottom),左(left)或是右(right)。

      

       比如一个TextView,设置它的android:gravity,对它的内容的位置有影响。

       

    

   android:layout_gravity :

      标准的gravity常量,是子组件提供给它的父组件的。定义了子View在封闭的布局(layout)中在X,Y方向上应该如何被放置。

     

     如一个方向是垂直的LinerLayout,布局里的TextView的layout_gravity对它在布局中的位置有影响。

    

     如果需要设置多个gravity值,用"|"符号分隔。如

 

android:layout_gravity="right|bottom"

android:gravity="right|bottom"

   2.区别

     看名字就能看出一些区别:android:layout_gravity和layout有关。

     android:gravity  设置 View的内容的gravity。

    android:layout_gravity  设置View或Layout的在它父布局中的gravity。

    3.Demo

   

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:orientation="vertical"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent">
 6
 7     <LinearLayout
 8         android:id="@+id/linearLayout"
 9         android:layout_width="match_parent"
10         android:layout_height="150dp"
11         android:orientation="vertical">
12         <TextView
13             android:layout_width="match_parent"
14             android:layout_height="50dp"
15             android:text="android:gravity用于设置View中内容相对于View组件的对齐方式"/>
16         <TextView
17             android:layout_width="match_parent"
18             android:layout_height="50dp"
19             android:text="android:gravity=center"
20             android:background="#ff0000"
21             android:gravity="center"/>
22         <TextView
23             android:layout_width="match_parent"
24             android:layout_height="50dp"
25             android:text="android:gravity=right|bottom"
26             android:background="#00ff00"
27             android:gravity="right|bottom"
28             />
29         </LinearLayout>
30     <TextView
31         android:id="@+id/textView"
32         android:layout_width="match_parent"
33         android:layout_height="50dp"
34         android:layout_below="@id/linearLayout"
35         android:text="android:layout_gravity用于设置View组件相对于Container的对齐方式"/>
36     <LinearLayout
37         android:id="@+id/linearLayout1"
38         android:layout_width="match_parent"
39         android:layout_height="100dp"
40         android:layout_below="@id/textView"
41         android:orientation="vertical">
42         <TextView
43             android:layout_width="wrap_content"
44             android:layout_height="wrap_content"
45             android:layout_gravity="left"
46             android:text="android:layout_gravity=left"
47             android:background="#ff0000"
48             />
49         <TextView
50             android:layout_width="wrap_content"
51             android:layout_height="wrap_content"
52             android:layout_gravity="right"
53             android:text="android:layout_gravity=right"
54             android:background="#00ff00"
55             />
56         </LinearLayout>
57     <LinearLayout
58         android:id="@+id/linearLayout2"
59         android:layout_width="match_parent"
60         android:layout_height="100dp"
61         android:layout_below="@id/linearLayout1"
62         android:orientation="horizontal">
63         <TextView
64             android:layout_width="wrap_content"
65             android:layout_height="wrap_content"
66             android:layout_gravity="top"
67             android:text="android:layout_gravity=top"
68             android:background="#ff0000"
69             />
70         <TextView
71             android:layout_width="wrap_content"
72             android:layout_height="wrap_content"
73             android:layout_gravity="bottom"
74             android:text="android:layout_gravity=bottom"
75             android:background="#00ff00"
76             />
77     </LinearLayout>
78 </RelativeLayout>

  效果:

         

原文地址:http://www.cnblogs.com/JohnTsai/p/4231729.html

时间: 2024-10-28 17:51:53

Android布局学习——android:gravity和android:layout_gravity的区别的相关文章

Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)

  [Android布局学习系列]   1.Android 布局学习之--Layout(布局)详解一   2.Android 布局学习之--Layout(布局)详解二(常见布局和布局参数)   3.Android 布局学习之--LinearLayout的layout_weight属性   4.Android 布局学习之--LinearLayout属性baselineAligned的作用及baseline      Layout Parameters(布局参数):            在XML文

Android 布局学习之——Layout(布局)详解一

layout(布局)定义了用户界面的可视化结构(visual structure),如Activity的UI,应用窗口的UI.       有两种方式声明layout:       1.在xml文件中声明UI组件.       2.在运行时,实例化布局元素.我们可以以编码的方式创建View或ViewGroup对象,操纵它们的属性.      下面用一个小例子来学习怎样以编码的方式添加layout:      1 import android.app.Activity; 2 import andr

Android 布局学习之——LinearLayout的layout_weight属性

 一直对layout_weight属性感到比较困惑,今天学习一下,来深入了解layout_weight属性和它的用法.      定义     首先,看看Android官方文档是怎么说的,毕竟人家才是权威嘛.                官方文档的意思是:                  layout_weight属性用于分配LinearLayout中的的额外空间(extra space).                  如果View不想拉伸的话,layout_weight值设置为0.否

Android 布局学习之——LinearLayout属性baselineAligned的作用及baseline

    相信大家对LinearLayout已经相当熟悉,但你们是否了解它的属性baselineAligned呢?     Android官方文档是这么描述的:            那到底这个属性是做什么用的呢?          baselineAligned:基准线对齐.      首先要解释什么是基准线,这个在中文中不常见,但在以字母为书写语言的其他国家非常常见.             如上图所示,红线就是基线(baseline),是不是很熟悉,这不就是我们经常写英文的四条线中的第三条吗

Android中 android:gravity 和 android:layout_gravity的区别

在配置xml布局时,经常用到 android:gravity  和 android:layout_gravity这两个属性,这里记录一下他们的区别. 1.android:gravity   android:gravity 常用于控制view的内部控件或者内容的位置,类似于于padding,如下所示: <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content&

【android基础】之在程序中设置android:gravity 和 android:layout_Gravity属性 区别

在进行UI布局的时候,可能经常会用到 android:gravity  和 android:layout_Gravity 这两个属性. 关于这两个属性的区别,网上已经有很多人进行了说明,这边再简单说一下. (资料来自网络) LinearLayout有两个非常相似的属性: android:gravity与android:layout_gravity. 他们的区别在于: android:gravity 属性是对该view中内容的限定.比如一个button 上面的text. 你可以设置该text 相对

Android布局属性Layout_weight学习教程

Layout_weight是Android开发中一个比较常用的布局属性,在面试中也经常被问到.下面通过实例彻底搞懂Layout_weight的用法. 先看下面的布局代码: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"              androi

Android开发学习笔记 Gallery和GridView浅析_Android

一.Gallery的简介 Gallery(画廊)是一个锁定中心条目并且拥有水平滚动列表的视图,一般用来浏览图片,并且可以响应事件显示信息.Gallery还可以和ImageSwitcher组件结合使用来实现一个通过缩略图来浏览图片的效果. Gallery常用的XML属性 属性名称 描述 android:animationDuration 设置布局变化时动画的转换所需的时间(毫秒级).仅在动画开始时计时.该值必须是整数,比如:100. android:gravity 指定在对象的X和Y轴上如何放置内

Android布局技巧之合并布局_Android

我们已经有文章向你描述如何使用<include />标签来重用和共享你的布局代码.这篇文章将向你阐述<merge />标签的使用以及如何与<include />标签互补使用. <merge />标签用于减少View树的层次来优化Android的布局.通过看一个例子,你就能很容易的理解这个标签能解决的问题.下面的XML布局显示一个图片,并且有一个标题位于其上方.这个结构相当的简单:FrameLayout里放置了一个ImageView,其上放置了一个TextVi