Android Gallery 滑动停止监听方案
2012-12-15 16:07
281 查看
资源描述:
网上查了不少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)
Since: API Level 1Whether 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 自定义ScrollView嵌套滚动兼容,监听滑动状态:顶部、底部、停止、滑动中
- Android - ScrollView 监听滑动停止,顶部还是底部?
- Android ViewPager与仿Gallery的HorizontalScrollView互相滑动监听
- Android中监听ScrollView滑动停止和滑动到底部
- Android Gallery获取滑动停止的位置
- android ScrollView嵌套ListView自动滑动到底部,嵌套ViewPager出现的滑动冲突以及监听滑动停止
- Android中监听ScrollView滑动停止和滑动到底部
- Android Gallery获取滑动停止的位置
- Android中监听ScrollView滑动停止和滑动到底部
- android监听ScrollView滑动停止
- 【Android】Gallery重写OnItemSelectedListener时滑动不流畅的解决办法——获取停止时的位置
- Android监听ListView停止的时候是不是滑动到底部
- android开发之滑动手势翻图 滑动手势监听
- 【Android Demo】图片之滑动效果(Gallery)
- android UI进阶之用gallery实现可滑动的Tab
- Android第六期 - ViewPage与菜单栏本地页面监听滑动效果
- Android中home键监听一个好用的方法。(按home键后播放器停止播放)
- android 监听scrollview 滑动动作
- Android手势滑动监听