Android 安卓 ViewPager中使用Gallery!
来源:互联网 发布:银联数据是外包公司吗 编辑:程序博客网 时间:2024/05/17 21:48
本次开发项目过程中,要在ViewPager中使用Gallery。遇到一个问题Gallery无法滑动,猜想应该是焦点问题,在网上搜到如下方法:
http://www.eoeandroid.com/thread-176552-1-1.html
mPager.setOnTouchListener(new View.OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent event) { Rect rect = new Rect(); g.getLocalVisibleRect(rect); if(rect.contains((int)event.getX(), (int)event.getY())) { return g.dispatchTouchEvent(event); } return false; }});
解决思路:在ViewPager的onTouch事件中,判断一下点击位置,如果是在Gallery里面,就交给Gallery去处理。
新问题:Gallery是能滑动了,但是Gallery的范围获取的不对,在Gallery外面点击也能滑动。我的Gallery是在一个ScrollView(能上下滚动,还包含其它内容)里面,然后把ScrollView放到ViewPager里面。不知道其它情况可会遇到这个问题。
解决方法:还是按照上面的解决思路,不过不用getLocalVisibleRect去获取区域。通过getLocationOnScreen获取Gallery左上角的起始点,再通过Gallery的高度和宽度计算出来范围。特别说明:event.getY()得到的是相对坐标,要使用event.getRawY() 才是相对于屏幕的点。
mPager.setOnTouchListener(new View.OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent event) { int[] location = new int[2]; gallery.getLocationOnScreen(location); if (location[0] != 0) { return false; } if (event.getRawY() > location[1] && event.getRawY() - location[1] < gallery.getHeight()) { return gallery.dispatchTouchEvent(event); } return false; }});
- Android 安卓 ViewPager中使用Gallery!
- Android 安卓 ViewPager中使用Gallery!
- 安卓开发中Gallery控件的使用
- 使用ViewPager实现gallery
- Android中Gallery的使用
- Android中ViewPager使用
- Android中Gallery和ImageSwitcher的使用
- Android中Gallery和ImageSwitcher的使用
- android GridView,Gallery,ListView 【安卓进化六】
- android 解决ViewPager与Gallery事件冲突
- android ViewPager 替代 Gallery 实现手势切换
- android viewpager 无限循环实现gallery 效果
- 解决ViewPager中Gallery无法滑动问题
- 解决ViewPager中Gallery无法滑动问题
- android,安卓,TabLayout + ViewPager + Fragment
- Android ViewPager 中使用pagerAdapter
- Android中ViewPager的使用
- Android中如何使用ViewPager
- 基于struts2框架的校验
- Google云计算凭什么打败亚马逊:性能第一
- [Android] SurfaceView相关知识笔记
- Date相关
- 安卓客户端与服务器端交互的工具类
- Android 安卓 ViewPager中使用Gallery!
- 一些shell的小命令~
- Oblog 4.5-4.6 access&mssql getshell 0day
- android线程与主Acitivity通信
- p 分位法实现图像二值化 matlab
- 备份恢复15—— RMAN维护 + 相关的视图
- linux内核休眠与唤醒
- Makefile教程: 跟我一起写Makefile -- LearnMakefile
- IIS下出现401错误提示该怎么解决-