实现横向的类似Gallery的效果

103
回复
740125
查看
  [复制链接]

206

主题

1622

帖子

2721

安币

Android大神

Rank: 6Rank: 6

发表于 2011-11-7 20:44:29 | 显示全部楼层 |阅读模式
本帖最后由 anzhuo 于 2011-11-7 21:38 编辑

还是针对IMDb,它的图片部分是横向滚动的。
研究了一下,是用类似ScrollView和TableLayout来实现的。也就是说在ListView的Header部分(有关ListView实现,见为ListView增加Header中的分析),是一个横向的ScrollView,嵌套一个TableLayout布局,和内部的一个TableRow。
实现示例的效果:
首先需要一张图,放置在res/drawable中,我是对图做循环,产生多个的效果。选择的是康熙的肖像,应该没有版权问题,哈哈。
示例改自为ListView增加Header。先改了table_title.xml中布局。这里要用HorizontalScrollView,这样才能产生横向滚动效果。里面包含一个TableLayout,只有一行(一个TableRow):

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:layout_width="fill_parent" android:layout_height="fill_parent">
  4.     <TableLayout android:layout_width="fill_parent"
  5.         android:layout_height="fill_parent">
  6.         <TableRow android:id="@+id/row" android:layout_width="fill_parent"
  7.             android:layout_height="fill_parent" />
  8.     </TableLayout>
  9. </HorizontalScrollView>
复制代码

在代码中使用该自定义Header,并加入图片:
  1. listView.addHeaderView(LayoutInflater.from(this).inflate(
  2.         R.layout.table_title, null));
  3. TableRow row=(TableRow) this.findViewById(R.id.row);
  4. for (int i=0;i<5;i++){
  5.     ImageView imageView=new ImageView(this);
  6.     imageView.setImageResource(R.drawable.k);
  7.     row.addView(imageView);
  8. }
复制代码
源代码见:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

3

主题

156

帖子

269

安币

攻城狮

Rank: 3Rank: 3

发表于 2011-12-6 15:05:06 | 显示全部楼层
看看看看看看看看看看

0

主题

81

帖子

54

安币

程序猿

Rank: 2

发表于 2011-12-6 15:41:38 | 显示全部楼层
谢谢分享!

0

主题

81

帖子

54

安币

程序猿

Rank: 2

发表于 2011-12-6 15:44:20 | 显示全部楼层
谢谢分享!

0

主题

44

帖子

60

安币

初级码农

Rank: 1

发表于 2012-3-9 15:18:17 | 显示全部楼层
aaaaaaaaaaaaaaaaaaa

0

主题

5

帖子

61

安币

初级码农

Rank: 1

发表于 2012-3-23 09:30:29 | 显示全部楼层
为啥我导入不进去呢。。

0

主题

0

帖子

2

安币

初级码农

Rank: 1

发表于 2012-3-24 09:44:19 | 显示全部楼层
这也太坑爹了啊

0

主题

80

帖子

300

安币

攻城狮

Rank: 3Rank: 3

QQ达人

发表于 2012-4-7 16:45:30 | 显示全部楼层
学习学习
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系我们
关闭
合作电话:
15618560077
Email:
805941275@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们
领先的中文移动开发者社区
18620764416
7*24全天服务
意见反馈:1294855032@qq.com

扫一扫关注我们

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粤ICP备15117877号 )