Adroid平台开发:创建自定义列表布局
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OPhone平台开发:创建自定义列表布局
作者介绍:
李建,乐成数字通信学院高级讲师。曾就职于国内数家SP,CP公司,具有丰富的软件、游戏开发经验。并从事多年教学工作,具有丰富的教学经验。目前主要从事OPhone、J2ME开发和教学方面的工作。
概述:
在我们设计的软件中,很多时候需要以列表的形式显示一些信息,要实现这样的功能,OPhone API给我们提供了非常方便的ListView控件和ListActivity用来显示列表信息,但有的时候这些控件并不能满足于我们程序开发的需要,因此,就需要我们定义自己的列表界面。实际上在OPhone中,设计自己的列表界面和内容十分简单和方便,下面将一步步地进行介绍如何来创建和使用自定义列表项,在这个例子中,我们将实现如下图所示的效果:
要实现上图效果我们需要建立三个类:一个Activity,一个数据类ListContent和一个列表类MyAdapter。
下面进行主界面的设计工作。目前这个版本的OPhone在界面可视化设计方面似乎还做的不够完善,暂时还不能实现类似VB、Delphi、C#那样的拖拽设计界面的功能,因此在界面的设计上,需要程序员通过定义xml文件的方式来布局和摆放空间的大小和位置,当然,我们可以通过使用不同类型的布局管理器来对各个控件进行布局以,以达到很好的自适应效果。
首先我们来设计这个示例程序的主界面:在res/layout里新建一个news_list_form_title.xml文件,在该界面中我们使用LinearLayout布局,并在该布局管理器
中添加如下几个控件:
∙ ImageView:一个图片控件,其功能就是用来显示一幅图片,此处我们用他来显示如下所示的图片λ
∙ ImageView:作用同上,此处用来显示如下图图片:λ
分别用两张图片的原因是我们可以在下面的图片上设置不同的文字内容。
注意:原始图片需要放置到res/drawable目录中,且文件的命名为【0-9】或者【a-z】的组合。
λ
ListView:列表控件,用来显示所有的列表项内容,我们在图1中看到的列表项就是通过该空间表现出来的。
这三个控件的顺序及其与布局管理的关系如下图所示:
news_list_form_title.xml文件的代码可以参考如下范例:
1.
2.
3. 4. android:layout_width="fill_parent" android:layout_height="fill_parent" 5. xmlns:android="/apk/res/android" 6. android:orientation="vertical"> 7. 8. 9. android:layout_width="wrap_content" 10. android:layout_height="wrap_content" 11. android:background="@drawable/form_title"> 12. 13. 14. android:layout_width="wrap_content" 15. android:layout_height="wrap_content" 16. android:background="@drawable/form_news"> 17. 18. 19. android:layout_width="fill_parent" 20. android:layout_height="wrap_content" android:dividerHeight="2dip"> 21. 22.
注意:上面代码中加粗及高亮部分代表列表项之间分割线的粗细程度,此处使用“dip”作为其衡量单位。
设置好控件的位置和内容后,其效果将如下图所示:
列表项的设计:
接下来我们要定义ListView界面的内容,在这里我们设计列表中的每项需要容纳三块内容:标题(title),描述(description)和图标(icon)。对于界面的设计此处仍然是在res/layout 里新建一个文件,名字定义为news_list.xml,此界面最终的效果如下图所示:
要实现这样的效果,我们需要使用如下几个控件:
ImageView:用来显示上图中最左面的图标。λ
TextView:一个文本控件,其实质就是一个Label,用来显示不能被编辑的文本内容,此处用来显示标题内容。λ
TextView:作用同上,此处用来显示描述信息。λ
注意:我们可以更改TextView显示字体的颜色文本和样式。
这三个控件和对应的布局管理器的关系如下图所示:
实现该界面的xml文件可以参考如下代码:
1.
2.
3. 4. android:layout_width="fill_parent" 5.android:layout_height="fill_parent" 6. xmlns:android="/apk/res/android" 7. android:orientation="horizontal"> 8. 9.