实现横向的类似Gallery的效果
还是针对IMDb,它的图片部分是横向滚动的。
研究了一下,是用类似ScrollView和TableLayout来实现的。也就是说在ListView的Header部分(有关ListView实现,见为ListView增加Header中的分析),是一个横向的ScrollView,嵌套一个TableLayout布局,和内部的一个TableRow。
实现示例的效果:
首先需要一张图,放置在res/drawable中,我是对图做循环,产生多个的效果。选择的是康熙的肖像,应该没有版权问题,哈哈。
示例改自为ListView增加Header。先改了table_title.xml中布局。这里要用HorizontalScrollView,这样才能产生横向滚动效果。里面包含一个TableLayout,只有一行(一个TableRow):
<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<TableLayout android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableRow android:id="@+id/row" android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</TableLayout>
</HorizontalScrollView>
在代码中使用该自定义Header,并加入图片:
listView.addHeaderView(LayoutInflater.from(this).inflate(
R.layout.table_title, null));
TableRow row=(TableRow) this.findViewById(R.id.row);
for (int i=0;i<5;i++){
ImageView imageView=new ImageView(this);
imageView.setImageResource(R.drawable.k);
row.addView(imageView);
}
源代码见:
这篇文章上的评论的 RSS feed TrackBack URI