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"><ScrollViewandroid:id="@+id/myScrollView"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello"android:id="@+id/myTextView"/></ScrollView></LinearLayout>