1.概述
•布局本身是不能显示出任何数据,它可以包含一些子视图, 并控制子视图的布局
•常用的Layout:LinearLayout、RelativeLayout、FrameLayout、ListView、GridView
属性:
针对任何View的属性
•常用的最基本属性
•内边距属性padding
•外边距属性margin
只针对RelativeLayout的属性
•反方向对齐属性to/above/below
•同方向对齐属性 align
•相对父视图的属性 alignparent/center
只针对LinearLayout的属性
•权重属性 weight
•方向属性 oritation
属性名 | 作用 |
id | 为控件指定相应的ID @+id/idname |
layout_width | 指定当前视图的宽度 |
layout_height | 指定当前视图的宽度 |
text | 指定控件当中显示的文字 |
textSize | 指定控件当中字体的大小 |
background | 指定该控件所使用的背景(图片|颜色) |
layout_gravity | 控件本身相对于父视图的位置 |
grivity | 指定控件中的内容的基本位置 |
2.
LinearLayout
•线性布局: 用来控制其子View以水平或垂直方式展开显示
•重要属性:
–orientation(方向):
vertical(垂直方向)、
–layout_weight(权重)
•layout_weight(权重)的值
•=0(默认值): 指定多大空间就占据多大的空间
•>0: 将父视图中的可用空间进行分割, 值越大权重就越大, 占据的比例就会越大
•Layout_weight的使用场景
•将布局的宽度或高度平均分成几个等份
•垂直方向上占用中间所有空间 或水平方向上占用中间所有空间
3.RelativeLayout
•相对布局: 用来控制其子View以
相对定位的方式进行布局显示
•相对布局是
最灵活,
最强大,也是学习难度最大的布局
•相对布局相关属性比较多:
•
兄弟视图之间:
同方向对齐,
反方向对齐
•
与父视图之间:
同方向对齐,
居中
4.FrameLayout
帧布局中的每一个子View都代表一个画面,默认以屏幕左上角作为( 0,0 )坐标,按定义的先后顺序依次逐屏显示,后面出现的会覆盖前面的画面,
通过子View的android:layout_gravity 属性来指定子视图的位置
5.
ListView、GridView
•ListView是一种用来
显示多个可滑动项
(Item)
列表的的ViewGroup
•需要使用
Adapter将
集合数据和每一个
Item
所对应的布局动态适配到ListView中显示
•显示列表:
listView.setAdapter
(adapter)
•更新列表
:
adapter.notifyDataSetChanged
()
Adapter:
ArrayAdapter: 显示最简单的列表(文本)
集合数据为List<String>或String[]
SimpleAdapter: 显示复杂的列表
集合数据必须是List<Map<String,Object>>类型
BaseAdapter: 显示复杂的列表
集合数据可以是任意类型的集合List<Xxx>
SimpleCursorAdapter: 显示复杂的列表
集合数据是数据库查询结果集
6.样式(Style)
•理解:多个
视图属性的集合, 在写布局时, 当多个视图有不少相同的属性时, 可以把这些相同的属性放在一起在
styles.xml中定义成一个Style,而在
布局文件
中
使用
@style/
style_name统一引用
•作用:复用视图标签属性
•目标:针对的是窗口中的某些
视图
•系统样式:Android也定义了些系统样式可以使用
•使用系统样式:
@
android:style
/xxx
7.主题(theme)
•理解:主题的本质
也是
style
•在styles.xml中定义, 在
manifest.xml
中引用
•作用:复用视图标签属性
•目标:针对
整个应用或
某个
Activity的界面
•系统常用主题:
•@android:style/Theme.Light.NoTitleBar : 没有标题
•@android:style/Theme.Light.NoTitleBar.Fullscreen: 全屏
•@android:style/Theme.Dialog : 对话框
8.
ScrollView
一种可供用户滚动的层次结构布局容器,允许显示比实际多的内容。ScrollView是一种FrameLayout,意味需要在其上放置有自己滚动内容的子元素。子元素可以是一个复杂的对象的布局管理器。通常用的子元素是垂直方向的LinearLayout,显示在最上层的垂直方向可以让用户滚动的箭头。
- <?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <ScrollView
- android:id="@+id/myScrollView"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/hello"
- android:id="@+id/myTextView"
- />
- </ScrollView>
- </LinearLayout>