Android Gallery 滑动停止监听方案
来源:互联网 发布:js 设置input的只读 编辑:程序博客网 时间:2024/05/18 06:28
资源描述:
网上查了不少Gallery停止监听位置的方法,都是通过起线程然后睡眠来判断,我觉得这样没必要开线程,耗费资源,同意的举手。
偶然看图库源码的时候看见一段代码,packages\apps\Gallery\src\com\android\camera\ViewImage.java
1
<strong>private void scheduleDismissOnScreenControls() {
2
mHandler.removeCallbacks(mDismissOnScreenControlRunner);
3
mHandler.postDelayed(mDismissOnScreenControlRunner,2000);//延迟
4
5
}</strong>
再结合gallery的OnItemSelectedListener,就可以在滑动停止后执行一些操作:
01
class MyOnSelectLinstener implements OnItemSelectedListener {
02
@Override
03
public void onItemSelected(AdapterView<?> parent, View view,int position, long id) {
04
scheduleDismissOnScreenControls();
05
}
06
public void onNothingSelected(AdapterView<?> parent) {
07
}
08
09
}
10
private void scheduleDismissOnScreenControls() {
11
mHandler.removeCallbacks(mDismissOnScreenControlRunner);
12
mHandler.postDelayed(mDismissOnScreenControlRunner, 2000);
13
}
在Runnable中执行操作,当Gallery滑动换页的时候,mHandler先把Runnable从列队中删除,其中的操作因此不会执行,然后在列队中添加延迟的Runnable,如果在延迟的时间内没有再次翻页就执行Runnable中的操作,这里可以在gallery中进行判断,拖动的时候可以不执行Runnable中的方法,具体就不说了。
这样就可以起到滑动停止监听的作用。
Android Gallery获取滑动停止的位置
在网上看到很多人想得到Gallery滑动停止的位置,大部分是通过起线程的方式来获取,嘿嘿,看了一下源码查了API,
发现一个方法:
public void setCallbackDuringFling (boolean shouldCallback)
Whether or not to callback on any getOnItemSelectedListener()
while the items are being flinged. If false, only the final selected item will cause the callback. If true, all items between the first and the final will cause callbacks.
大概意思是,设为false,getOnItemSelectedListener()中才返回gallery的停止位置position,滑动过程中不触发getOnItemSelectedListener()事件。
在
getOnItemSelectedListener()
中
public void onItemSelected(final AdapterView<?> parent, final View view,
final int position, long id) {
System.out.println("itme = " + id);
}
当滑动停止后才返回Item,打印停止位置
- Android Gallery 滑动停止监听方案
- Android Gallery获取滑动停止的位置
- android监听ScrollView滑动停止
- Android中监听ScrollView滑动停止和滑动到底部
- Android中监听ScrollView滑动停止和滑动到底部
- Android ViewPager与仿Gallery的HorizontalScrollView互相滑动监听
- Android监听ListView停止的时候是不是滑动到底部
- Android - ScrollView 监听滑动停止,顶部还是底部?
- android Gallery滑动图片
- Android 自定义ScrollView嵌套滚动兼容,监听滑动状态:顶部、底部、停止、滑动中
- android gallery滑动惯性问题
- android gallery滑动惯性问题
- android实现gallery一个一个滑动
- Android Gallery图片一张张滑动
- Android Gallery图片一张张滑动
- android Gallery每次滑动一页
- Android gallery滑动惯性问题
- android gallery 滑动速度控制
- 增加RIL组件时编辑出现的问题
- 金蝶K/3 RISE V12.3人事系统中间层组件出错解决方案
- 数学和计算机 李开复
- 表单提交GET方法遇到的问题
- 【笔记】VB.NET和MATLAB读取二进制文件(中文+数值)之比较
- Android Gallery 滑动停止监听方案
- ofstream和ifstream的用法
- 安装Kingdee K3中间层服务器时的一个补丁KB936296
- Activity在GridView和ListView之间切换使用一个布局实现的方法
- [as3 学习笔记]关于as3 display list 的总结
- 数据结构之线性表
- 利用JS的常见攻击
- 使用数组设置小车运行的轨迹(方便)
- OpenWrt取消strip或者重新设置strip参数的方法