软件也要拼脸蛋,UI开发的点点滴滴
第三章:常见控件,4种基本布局,自定义控件,LIstView,单位和尺寸,编写界面的实践
常见控件:7大常见控件,并没有太多需要说的,多加练习,熟悉即可。
4种基本布局:
LinearLayout(线性布局):控件在线性方向上依次排列,通过设置orientation可分为垂直排列或水平排列元素方式。
RelativeLayout(相对布局):按组件相互之间的相对位置来确定,需要添加相对属性来控制视图显示在窗口的位置。
(嵌套布局:线性布局与相对布局的嵌套组合而成的布局)
TableLayout(表格布局):以表格的方式排列控件。TableLayout是顶级元素,说明采用的是表格布局。TableRow定义一个行。TextView定义一个单元格的内容。
FrameLayout(帧布局):书上只提到了是没有任何定位方式的布局,都摆放在布局左上角。Google得帧布局中的每一组件都代表一个画面,按组件定义的先后顺序依次显示,后面出现的会覆盖前面的画面,这个布局可以实现动画效果。
自定义控件:书上写了一种通过组合现有控件的方式自定义控件。但在其他书上看到,还有继承,自绘等方式,详细说起来很复杂,现在也只有一定了解……..以后在详细的记录方法……
ListView:最为常用(最难用?)的控件。
必须的3元素:
ListVeiw 用来展示列表的View。
适配器(adapter: 用来把数据映射到ListView上的中介。
不同类型的适配器:
- ArrayAdapter:最为简单,只能展示一行字。
- SimpleAdapter:有最好的扩充性,可以自定义出各种效果。
- SimpleCursorAdapter:SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。
- 数据 :list具体的将被映射的字符串,图片,或者基本组件。
个人理解:VIew提供了显示的位置。list内存有供使用的数据。adapter将两者联系起来,从而显示出ListView。
ListView的定制:
个人看来就是对于3元素的定制。
对于list数据的定制,按照自身的需要,定义一个实体类,作为LisView适配器的适配类型。
对于ListView的定制,为对于每一个显示子项的定制,指定一个我们自定义的布局。(在原ListView中是默认的Item格式)。
对于Adapter的定制,先是重写父类构造函数,传入context,Id,数据。再重写getView(),通过getView得到滚动到屏幕内的子项,通过getItem()得到当前项实例,通过LayoutInflater为其加载我们定制的布局,调用相应方法,显示我们的内容。
ListView的点击事件:
先是对于整个ListView注册监听器,ListView.setOnItemClickListenceer。再是对于onItemClick的重写,根据传入的position,定位具体实例,就可以得到对于每一个item的点击事情的处理了。
ListView的优化
具体过程的详细解释
书上例子的实现
编写界面的实践:
书上例子的实现