LinearLayout(线性布局)
要点:
android:orientation="vertical"垂直线性布局,"horizontal"水平线性布局
android:gravity="top"(buttom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical、clip_horizontal)控制布局中控件的对齐方式。如果是没有子控件的控件设置此属性,表示其内容的对齐方式,比如说TextView里面文字的对齐方式;若是有子控件的控件设置此属性,则表示其子控件的对齐方式,gravity如果需要设置多个属性值,需要使用“|”进行组合
android:gravity 与 android:layout_gravity的区别 android:gravity是指定本元素的子元素相对它的对齐方式。 android:layout_gravity是指定本元素相对它的父元素的对齐方式。
android:layout_weight="1"通过设置控件的layout_weight属性以控制各个控件在布局中的相对大小,线性布局会根据该控件layout_weight值与其所处布局中所有控件layout_weight值之和的比值为该控件分配占用的区域。在水平布局的LinearLayout中有两个Button,这两个Button的layout_weight属性值都为1,那么这两个按钮都会被拉伸到整个屏幕宽度的一半。如果layout_weight指为0,控件会按原大小显示,不会被拉伸;对于其余layout_weight属性值大于0的控件,系统将会减去layout_weight属性值为0的控件的宽度或者高度,再用剩余的宽度或高度按相应的比例来分配每一个控件显示的宽度或高度。
例:
布局代码:
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 xmlns:tools="http://schemas.android.com/tools"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:orientation="vertical"
6 tools:context=".LinearLayoutActivity" >
7
8 <LinearLayout
9 android:layout_width="match_parent"
10 android:layout_height="match_parent"
11 android:layout_weight="1"
12 android:orientation="horizontal" >
13
14 <Button
15 android:layout_width="wrap_content"
16 android:layout_height="match_parent"
17 android:layout_weight="1"
18 android:background="#aa0000"
19 android:gravity="center_horizontal|center_vertical"
20 android:text="第一列"
21 android:textSize="15sp" >
22 </Button>
23
24 <Button
25 android:layout_width="wrap_content"
26 android:layout_height="match_parent"
27 android:layout_weight="1"
28 android:background="#00aa00"
29 android:gravity="center_horizontal"
30 android:text="第二列"
31 android:textSize="15sp" >
32 </Button>
33
34 <Button
35 android:layout_width="wrap_content"
36 android:layout_height="match_parent"
37 android:layout_weight="1"
38 android:background="#0000aa"
39 android:gravity="center|bottom"
40 android:text="第三列"
41 android:textSize="15sp" >
42 </Button>
43
44 <Button
45 android:layout_width="wrap_content"
46 android:layout_height="match_parent"
47 android:layout_weight="1"
48 android:background="#aaaa00"
49 android:gravity="bottom"
50 android:text="第四列"
51 android:textSize="15sp" >
52 </Button>
53 </LinearLayout>
54
55 <LinearLayout
56 android:layout_width="match_parent"
57 android:layout_height="match_parent"
58 android:layout_weight="1"
59 android:orientation="vertical" >
60
61 <Button
62 android:layout_width="match_parent"
63 android:layout_height="match_parent"
64 android:layout_weight="1"
65 android:gravity="bottom"
66 android:text="第1行"
67 android:textSize="15sp" >
68 </Button>
69
70 <Button
71 android:layout_width="match_parent"
72 android:layout_height="match_parent"
73 android:layout_weight="1"
74 android:gravity="bottom"
75 android:text="第2行"
76 android:textSize="15sp" >
77 </Button>
78
79 <Button
80 android:layout_width="match_parent"
81 android:layout_height="match_parent"
82 android:layout_weight="1"
83 android:gravity="bottom"
84 android:text="第3行"
85 android:textSize="15sp" >
86 </Button>
87
88 <Button
89 android:layout_width="match_parent"
90 android:layout_height="match_parent"
91 android:layout_weight="1"
92 android:gravity="bottom"
93 android:text="第4行"
94 android:textSize="15sp" >
95 </Button>
96 </LinearLayout>
97
98 </LinearLayout>
- CSS3伪类和伪元素的特性和区别
- Kafka剖析系列之Benchmark
- 初探React与D3的结合-或许是visualization的新突破?
- Redis 在Centos Linux 上的启动脚本
- 理解JavaScript的临时包装对象
- JavaScript实现私有属性
- 使用LRU算法缓存图片,android 3.0
- 深入理解JavaScript原型:prototype,__proto__和constructor
- Comparable 与 Comparator 浅析
- 必应首页平铺背景图片的实现方案
- 我们是如何优化HAProxy以让其支持200万个并发SSL连接的?
- 【译】《Understanding ECMAScript6》- 第八章-Module
- 【译】《Understanding ECMAScript6》- 第七章-Promise
- 自定义gradview
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法