Android控件组合应用三

上一篇文章中,我们先利用ImageButton控件和RelativeLayout进行了一些热身运动,接下来,ListView登场。

看新浪微博的界面,给我们的第一感觉应该是用了ListView,但是仔细一想,又觉得在ListView中难以实现这么复杂的显示。我们不妨就用ListView,看看能否仿制出来他的效果。

对于ListView来说,现在每一个项,即其中每一个Item都不再是我们熟悉的简单的复选框,或者多行文本,而是图文并茂并且有布局要求的形态。除此之外,还要注意到,这个列表框的第一项和最后一项是固定的,分别放置了“刷新”和“更多”两个Item,无论列表框中有多少项,这两个Item都存在。如果能把这两个Item作为列表框的一个不变的组成部分,而只是用数据填充中间有数据项,应该就差不多了。

基于上述观察和分析,我们可以通过为ListView添加HeaderViewFooterView来解决这两个特殊的Item问题,既然是两个View,那我们就先添加两个布局的xml,分别作为HeaderViewFooterView。文件内容如下:

有了这两个布局文件,就可以自定义我们自己的ListView了,新建一个BlogListViewclass,继承自ListView

现在的问题是什么时候把这两个view加进来呢,思考ing……没错,在该控件完成布局的时候就要加进来了,该类的代码如下:

由于是自定义控件,所以要在main.xml中加入它的话,得把布局写成下面这样:

其中的divider属性是定义Item间的分隔条的。

最后,运行结果发现没有显示出列表来,那是因为它没有数据,为ListView加简单的测试数据例如数组这事就不在这写代码了,反正接下来就该添加正式的数据了。

你可能感兴趣的:(android,xml,新浪微博)