资源描述:

网上查了不少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 voidsetCallbackDuringFling(boolean shouldCallback)

Since: API Level 1

Whether or not to callback on anygetOnItemSelectedListener()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,打印停止位置


更多相关文章

  1. Android(安卓)telephone
  2. 安卓ScrollView嵌套RecyclerView,GridView,ViewPager冲突解决
  3. Android中bool的使用
  4. Android源码解析之(三)Android异步任务AsyncTask
  5. Android(安卓)Launcher源码研究(一) 基本结构
  6. Android-NDK开发之基础--Android(安卓)JNI实例代码(一)-- 在JNI
  7. Android视频播放时停止后台运行的方法
  8. android---Timer和Handler
  9. Android创建定时和周期任务

随机推荐

  1. Android(安卓)input 输入系统学习
  2. Android(安卓)如何使用浏览器去下载app和
  3. Running Android(安卓)with low RAM
  4. [Android交互]Android与Unity的交互
  5. Android(安卓)Frameworks系列之IMF(一)
  6. Android(安卓)ImageView图片自适应
  7. Android(安卓)5.0有哪些变化
  8. xmlns:android作用以及自定义布局属性
  9. Android(安卓)内存
  10. S5PV210 ANDROID 为摄像头增加闪光灯