第一行代码 读笔③ (Layout ListView)

来源:互联网 发布:画家知一作品图片 编辑:程序博客网 时间:2024/05/18 01:50

软件也要拼脸蛋,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的优化

具体过程的详细解释

书上例子的实现

编写界面的实践
书上例子的实现

0 0
原创粉丝点击