论坛首页 移动开发技术论坛

今天完成了一个较实用的android Gallery Demo 网络读取图片,定时切换,正反无限循环,图片满屏,遮罩标题文字,切换圆点显示,多线程控制

浏览 26727 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-03-05   最后修改:2012-03-05
今天对大家提的问题都做了修正,请看1楼,下载2012-03-05的压缩包就行了

大家提的意见都挺好的,当做给我测BUG了,这样我的用户使用起来也更流畅,嘿嘿
0 请登录后投票
   发表时间:2012-03-07  
今天看了楼主的代码 已测试 果然不错,但是有一个问题我不是很明白,望楼主解答。
就是在点击事件的处理上

images_ga.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
				// TODO Auto-generated method stub
				int nPosition = arg2;
				Toast.makeText(ImageActivity.this, (nPosition + ""), Toast.LENGTH_SHORT).show();
			}
		});


我Toast出来的数值,一直是向上加1的,上不封顶的,这样我应该怎样获取点的到底是哪一个呢?   我给你一个图。。。
  • 大小: 21 KB
0 请登录后投票
   发表时间:2012-03-07  
doublefi123 写道
今天看了楼主的代码 已测试 果然不错,但是有一个问题我不是很明白,望楼主解答。
就是在点击事件的处理上

images_ga.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
				// TODO Auto-generated method stub
				int nPosition = arg2;
				Toast.makeText(ImageActivity.this, (nPosition + ""), Toast.LENGTH_SHORT).show();
			}
		});


我Toast出来的数值,一直是向上加1的,上不封顶的,这样我应该怎样获取点的到底是哪一个呢?   我给你一个图。。。


position % imageUrls.size()
0 请登录后投票
   发表时间:2012-03-07  
hqs998 写道
doublefi123 写道
今天看了楼主的代码 已测试 果然不错,但是有一个问题我不是很明白,望楼主解答。
就是在点击事件的处理上

images_ga.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
				// TODO Auto-generated method stub
				int nPosition = arg2;
				Toast.makeText(ImageActivity.this, (nPosition + ""), Toast.LENGTH_SHORT).show();
			}
		});


我Toast出来的数值,一直是向上加1的,上不封顶的,这样我应该怎样获取点的到底是哪一个呢?   我给你一个图。。。


position % imageUrls.size()

到底在哪里加啊?这个OnItemClickListener是ImageActivity类里面的啊,图片每动一次,arg2就自动加1,图片循环一圈后还是加1,能和我说或具体的解决方案么?谢谢啦
0 请登录后投票
   发表时间:2012-03-07   最后修改:2012-03-07
doublefi123 写道
hqs998 写道
doublefi123 写道
今天看了楼主的代码 已测试 果然不错,但是有一个问题我不是很明白,望楼主解答。
就是在点击事件的处理上

images_ga.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
				// TODO Auto-generated method stub
				int nPosition = arg2;
				Toast.makeText(ImageActivity.this, (nPosition + ""), Toast.LENGTH_SHORT).show();
			}
		});


我Toast出来的数值,一直是向上加1的,上不封顶的,这样我应该怎样获取点的到底是哪一个呢?   我给你一个图。。。


position % imageUrls.size()

到底在哪里加啊?这个OnItemClickListener是ImageActivity类里面的啊,图片每动一次,arg2就自动加1,图片循环一圈后还是加1,能和我说或具体的解决方案么?谢谢啦


。。。你不是想要知道哪一张图片吗?

当前的position % imageUrls.size()这样就能取到了,当然是加在onItemClick中。

这个道理就和adapter中设置无线循环的获取一样的,你自己看看那个类吧
0 请登录后投票
   发表时间:2012-03-07  
hqs998 写道
doublefi123 写道
hqs998 写道
doublefi123 写道
今天看了楼主的代码 已测试 果然不错,但是有一个问题我不是很明白,望楼主解答。
就是在点击事件的处理上

images_ga.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
				// TODO Auto-generated method stub
				int nPosition = arg2;
				Toast.makeText(ImageActivity.this, (nPosition + ""), Toast.LENGTH_SHORT).show();
			}
		});


我Toast出来的数值,一直是向上加1的,上不封顶的,这样我应该怎样获取点的到底是哪一个呢?   我给你一个图。。。


position % imageUrls.size()

到底在哪里加啊?这个OnItemClickListener是ImageActivity类里面的啊,图片每动一次,arg2就自动加1,图片循环一圈后还是加1,能和我说或具体的解决方案么?谢谢啦


。。。你不是想要知道哪一张图片吗?

当前的position % imageUrls.size()这样就能取到了,当然是加在onItemClick中。

这个道理就和adapter中设置无线循环的获取一样的,你自己看看那个类吧

哦,原来是我二了,哈哈,谢谢你啊!我还有好多东西要学啊!!
0 请登录后投票
   发表时间:2012-03-08  
楼主,你好,我想更正一下,把init()方法放在onStart()方法,按home键后,还是会出现多个重复的小圆点,我试了一下,把init()方法放在onCreate()方法里就不会出现类似的问题了,还有一个问题需要向楼主请教,怎么实现像奇异客户端那样的不同界面切换动画,也就是实现切图时的动画,楼主的res资源里也写了两个动画push_up_in.xml和push_up_out.xml,但是没有用上,我已经实现了imageView的单张图片动画,没有实现切换时的动画(比如一张图片按某个动画退出,新图片按某个动画进入),请教一下楼主
0 请登录后投票
   发表时间:2012-03-16  
楼主写的不错,呵呵,我提个小问题,那个刷新adapter可以再onPostExecute()方法里直接刷新就行了,不用再到doInBackground()方法里用handler给主线程发消息去更新了,因为asyncTask()本身就是一个封装了thread+handler的方法,onPostExecute()就相当于处理完了的一个更新界面的方法
0 请登录后投票
   发表时间:2012-03-20  
iverson03 写道
楼主写的不错,呵呵,我提个小问题,那个刷新adapter可以再onPostExecute()方法里直接刷新就行了,不用再到doInBackground()方法里用handler给主线程发消息去更新了,因为asyncTask()本身就是一个封装了thread+handler的方法,onPostExecute()就相当于处理完了的一个更新界面的方法


不错呀,我过几天改一下,呵呵,当时没认真看asyncTask,写复杂了
0 请登录后投票
   发表时间:2012-03-28  
参考下: http://androiddada.iteye.com/blog/1316926
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics