`

android gallery滑动惯性问题

阅读更多

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,这样你就可以畅通无阻的滑动你的组件了!!基本上是不会在出现一卡一卡的情况了!

 

转自:http://hi.baidu.com/mklzdd/blog/item/4c526b52ca27c4030cf3e3dd.html

分享到:
评论
5 楼 changanfounder 2012-12-06  
hmc1985 写道
setCallbackDuringFling(false);就搞定了,哪用你这么复杂?


哥们诺诺的问一句,如果是点击呢?隔着中间焦点外点击中间经过的item都会加载的,
源码中有个函数:setCallbackOnUnselectedItemClick(),但是在2.1系统上找不到此方法呢?
4 楼 ron.luo 2012-01-30  
呵呵..setCallbackDuringFling(),这个属性顶!
3 楼 crazier9527 2011-12-19  
hmc1985 写道
setCallbackDuringFling(false);就搞定了,哪用你这么复杂?

呵呵,不错,谢谢
2 楼 hmc1985 2011-12-05  
setCallbackDuringFling(false);就搞定了,哪用你这么复杂?
1 楼 hklongshao 2011-03-09  
其实gallary本事有一个属性,setCallbackDuringFling()

你试试

相关推荐

    Android 滑动效果 Gallery

    "Android 滑动效果 Gallery"是Android SDK提供的一种特殊视图组件,它允许用户通过水平滑动来浏览一系列项目,如图片或者其它元素。在早期的Android版本中,Gallery类被广泛用于实现这种效果,但在Android 4.0 (API...

    android gallery简单应用

    然而,`Gallery`控件存在一些局限性,比如它不支持垂直滚动,滚动时的焦点处理也相对复杂,且不支持惯性滑动等现代触摸交互。这就是为什么在Android 3.0后,`ViewPager`成为了推荐的轮播组件,它提供了更流畅的用户...

    android自定义Gallery Demo实现随手滑动随停去掉两边空白

    通过监听用户的触摸事件,我们可以控制滑动的速度和惯性,避免快速滑动时的定位不准确问题。 4. **onFling()**: 重写`onFling()`方法,可以处理快速滑动时的动画效果,使滑动更加流畅自然。 5. **...

    android垂直Gallery

    在Android开发中,`Gallery`组件是Android SDK提供的一种可以水平滑动的视图容器,通常用于展示一系列的图片或选项。然而,标准的`Gallery`组件并不支持垂直滑动。在给定的标题和描述中,我们看到开发者面对的需求是...

    Android4.0的Gallery源码

    它使用GestureDetector和Scroller来检测滑动和惯性滚动,提供流畅的用户体验。 4. **焦点与选择**:Gallery允许用户通过触摸选择一个项目,并为其设置焦点。焦点的变化会影响到选中项的视觉效果,这可以通过覆写`...

    Android Gallery 一次一张图片,可以循环显示,可显示当前为第几张图片

    在Android开发中,`Gallery`组件是一个非常实用的控件,用于展示一系列的图片或其它类型的数据,用户可以通过左右滑动来浏览。然而,`Gallery`已经在API Level 17被弃用了,取而代之的是`RecyclerView`配合`...

    Android Gallery实例源码

    3. **布局文件**:在源码中,你会看到XML布局文件中如何定义Gallery组件,包括设置id、宽度、高度、item之间的间距(`android:spacing`)以及是否开启惯性滚动(`android:fadingEdgeLength`)等属性。 4. **事件...

    Android编程实现Gallery中每次滑动只显示一页的方法

    在Android开发中,`Gallery`控件是一种常用的布局管理器,它允许用户通过左右滑动来展示一个可滚动的项目列表。然而,默认情况下,Gallery会在用户滑动时快速浏览多个项目,这可能不符合某些应用场景,比如希望每次...

    Android Gallery

    同时,Gallery还支持惯性滚动,即用户快速滑动后,视图会继续滚动一段时间,这种平滑的滚动效果提升了用户体验。 在实际开发中,我们经常需要对Gallery进行定制,例如改变滚动速度、添加动画效果等。这可以通过覆写...

    android gallery画廊 如iPhone拖动相片特效

    在早期版本的Android SDK中,`Gallery`是用于展示一系列可左右滑动的项目的视图。然而,自Android 3.0(API级别11)起,`Gallery`已被废弃,取而代之的是`ViewPager`,这是一个更灵活、更强大的组件,可以用来实现...

    Android 自定义RecyclerView 实现真正的Gallery效果程序源码

    本示例代码着重于如何通过自定义RecyclerView实现一个类似于Android原生Gallery的效果,即横向滑动浏览图片。Gallery组件在Android API 21(Lollipop)之后已被弃用,因此开发者需要寻找替代方案,例如使用...

    Android代码-ViewPagerGallery

    在"ViewPagerGallery"中,开发者可能对滑动事件进行了特殊处理,使得滑动更加平滑,同时支持快速滑动和惯性滚动。 5. **动画效果**:为了达到Gallery的效果,项目可能包含了一些过渡动画,使得页面在切换时有更自然...

    Android 自定义 HorizontalScrollView 打造超强 Gallery效果 完整实例源码

    Gallery组件在早期版本的Android API中被广泛用于展示一系列的图片或元素,用户可以左右滑动来浏览。然而,随着Android版本的更新,Gallery已经被RecyclerView等更灵活的视图容器所替代。但在某些场合,开发者可能...

    Image-gallery-view-.zip_android

    "Image-gallery-view-.zip_android"这个压缩包提供了一种解决方案,它使用了画廊视图(Gallery View)来优雅地展示图片列表。下面我们将详细探讨画廊视图及其在Android中的应用。 画廊视图是Android SDK中一个古老...

    Android-RecyclerViewGallery通过RecyclerView封装实现的Gallery并优化了回调

    然而,由于性能问题和API的过时,Google在后来的Android版本中弃用了Gallery,推荐使用RecyclerView来实现类似功能。RecyclerViewGallery项目就是对此的一种解决方案。 在RecyclerViewGallery中,主要包含以下几个...

    android相册

    这通常涉及`GestureDetector`和`Scroller`类,以实现平滑的滚动和惯性滑动效果。 7. **OpenGL ES**:对于更复杂的3D效果,开发者可能会利用OpenGL ES,这是一个针对嵌入式系统的图形库,可以实现高性能的3D渲染。`...

    Android程序研发源码Android 仿UC,墨迹天气左右拖动多屏幕显示效果源码.rar

    这种效果通常被称为“滑动画廊”或“Fling Gallery”,它提供了用户友好的界面,使得用户可以通过手势轻松浏览多个屏幕内容。在你提供的源码压缩包"Android 仿UC,墨迹天气左右拖动多屏幕显示效果源码.rar"中,包含的...

    应用源码之Gallery2.zip

    - Gallery组件是Android中用于实现水平滑动的视图,源码中会包含如何处理用户的滑动操作,实现流畅的滚动效果。 - 触摸事件的分发和处理,包括ACTION_DOWN、ACTION_MOVE和ACTION_UP等事件的响应,以及滑动速度的...

Global site tag (gtag.js) - Google Analytics