android 按住拖动gallery防止马上加载数据导致gallery卡的方法

Gallery滑动优化
本文介绍了一种解决Gallery组件在滑动时出现卡顿问题的方法。通过使用线程检测选定索引的变化,在稳定状态下加载数据,确保了流畅的用户体验。结合titlegall.setCallbackDuringFling(false)使用,适用于顶部或底部滑动导航栏的设计。

gallery菜单滑动有一个不好的效果就是每次经过中间的菜单都默认是被选中状态,同时会加载数据 以至于切换不流畅,有一种卡卡的感觉!!其实用线程来处理这个问题,一定的时间后如果选择的index值不变,说明已经稳定不变。废话少说,上部分代码!
//----------------------用到的常量-----------------------------
private int showingIndex = -1;
private static final int TIME_OUT_DISPLAY =300;
private int toShowIndex = 0;
//--------------------------------------------------
//在选中事件里面做处理
public void onItemSelected(AdapterView<?> parent, View v, final int position,
long id) {


//--------------------------------------------------
toShowIndex = position;
final Handler handler = new Handler() {  
@Override
public void handleMessage(Message msg) {
if(showingIndex != toShowIndex){
showingIndex = toShowIndex;
menu_position = position;

//做你的业务逻辑处理
}
}  
};
Thread checkChange = new Thread() {    
@Override
public void run() {
int myIndex = toShowIndex;
try {
sleep( TIME_OUT_DISPLAY );
if( myIndex == toShowIndex ){
handler.sendEmptyMessage(0);  
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}  
};

checkChange.start();


}
ok,这样你就可以畅通无阻的滑动你的组件了!!基本上是不会在出现一卡一卡的情况了!

结合titlegall.setCallbackDuringFling(false);使用,可制作顶部或底部滑动导航栏。

转载于:https://www.cnblogs.com/Greenwood/archive/2011/07/13/2105365.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值