`
dubinwei
  • 浏览: 56336 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

android 弹性效果

阅读更多
重写自己的view,覆盖父类的overScrollBy方法。
详细内容可以查看我的网站:http://1.playandroid.duapp.com/index.jsp
代码:
import android.content.Context;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.widget.ScrollView;

/**
 * ClassName:MtScrollView
 * Function: TODO ADD FUNCTION .
 *
 * VERSION       DATE            AUTHOR       CHANGE/COMMENT
 * ──────────────────────────────────————————————————————————
 * (产品版本号)             2012-4-23          duweibin         create
 */
public class MtScrollView extends ScrollView {
private static final int MAX_Y_OVERSCROLL_DISTANCE = 200; 
    
    private Context mContext; 
    private int mMaxYOverscrollDistance; 
      
    public MtScrollView(Context context){ 
        super(context); 
        mContext = context; 
        initBounceListView(); 
    } 
      
    public MtScrollView(Context context, AttributeSet attrs){ 
        super(context, attrs); 
        mContext = context; 
        initBounceListView();
    } 
      
    public MtScrollView(Context context, AttributeSet attrs, int defStyle){ 
        super(context, attrs, defStyle); 
        mContext = context; 
        initBounceListView(); 
    } 
      
    private void initBounceListView(){ 
        final DisplayMetrics metrics = mContext.getResources().getDisplayMetrics(); 
            final float density = metrics.density; 
          
        mMaxYOverscrollDistance = (int) (density * MAX_Y_OVERSCROLL_DISTANCE); 
    } 
    @Override
    protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent){  
        //这块是关键性代码
        return super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, scrollRangeY, maxOverScrollX, mMaxYOverscrollDistance, isTouchEvent);   
    }
}


针对2.3以上版本,包括2.3
分享到:
评论

相关推荐

    Android仿IOS上拉下拉弹性效果的实例代码

    用过iphone的朋友相信都体验过页面上拉下拉有一个弹性的效果,使用起来用户体验很好;Android并没有给我们封装这样一个效果,我们来看下在Android里如何实现这个效果。先看效果,感觉有些时候还是蛮实用的。 思路:...

    Android 弹性回弹 侧拉抽屉 效果

    4. 兼容性:测试在不同Android版本上的兼容性,尤其是阴影和弹性效果在低版本系统中的表现。 5. 动画过渡:可以考虑添加更多的过渡动画,如淡入淡出,提升用户体验。 总的来说,这个侧拉抽屉的实现结合了Android的`...

    android 能上下弹性拉动的ScrollView

    3. **添加弹性效果**:当用户滑动到ScrollView的顶部或底部时,如果继续滑动,我们可以根据计算出的速度和距离,使用动画来模拟弹性效果。这可以通过设置一个逐渐减慢的动画,使得滚动条在达到边界后逐渐停止,而...

    Android 实现ListView 3D效果 - 2 - 弹性滚动,Fling

    本篇将深入探讨如何在Android中实现ListView的3D弹性滚动,即Fling效果。 首先,要理解3D效果的本质,它通常是通过改变ListView项的透明度、大小或位置来模拟深度感。在Android中,我们可以通过自定义Adapter和...

    Android-让几乎所有的AndroidView具有类似MIUI系统里面的一个弹性拉伸的效果

    我们可以通过设置关键帧来模拟弹性效果。 5. **检测边界**: 在动画执行过程中,需要不断检测视图的位置,一旦达到最大位移或者已经完全恢复到原始位置,就停止动画。 6. **处理子View**: 如果自定义的...

    Android翻页效果实现技术分享.pdf

    贝赛尔曲线是一种参数化的曲线,广泛应用于图形设计和计算机图形学中,能够创造出平滑且富有弹性的过渡效果。 - 贝赛尔曲线的绘制,首先需要确定四个关键点:起始点、两个控制点和结束点。 - 在Android开发中,可以...

    android 弹性的ListView

    在Android开发中,ListView是一种常用的组件,用于展示大量的数据列表,具有良好的滚动性能和内存管理。然而,要实现一个弹性的ListView,即所谓的Pull to Refresh(下拉刷新)和Load More(上拉加载更多)功能,...

    Android 之抽屉效果(上下抽屉)

    5. 回弹效果:为了增加用户体验,可以添加弹性回弹效果,当用户松手后,抽屉能够根据当前速度自然回弹到完全打开或关闭状态。 6. 触发事件:当抽屉打开或关闭时,可能需要触发相应的回调,以便其他组件能响应这些...

    android 自定义酷炫ViewPager切换效果带页面弹性指示器动画

    在本教程中,我们将深入探讨如何创建一个自定义的ViewPager,使其具有酷炫的页面切换动画以及带有弹性效果的页面指示器。 首先,我们需要理解ViewPager的基本工作原理。ViewPager是Android Support Library的一部分...

    Android一个具有弹簧效果的RecyclerView

    SpringRecyclerView SpringRecyclerView是一个RecyclerView具有弹簧效果,当被拖动或flinged到overScroll。 ListView版本:https : //github.com/gjiazhe/SpringListView

    android 动画效果,弹球效果

    在Android平台上,动画效果是提升用户体验的关键因素之一。"弹球效果"是Android动画中的一种常见且有趣的实现,它可以为用户界面增添动态美感和交互性。让我们深入探讨一下如何在Android中实现这样的动画效果。 ...

    Android 弹性ScrollView和悬浮头.zip

    5. 处理边界条件:在实现弹性效果时,需要考虑内容区域是否已滑动到顶部或底部,以及在这些边界条件下的动画处理。 6. 性能优化:弹性滚动和悬浮头可能会对性能产生一定影响,因此需要注意减少不必要的计算,合理...

    Android:弹性ListView

    - 可参考开源库,如`android-open-project`中的BounceListView项目,学习其源码实现,理解如何结合OverScroller和ListView达到弹性效果。 总之,Android的弹性ListView是通过自定义ListView组件和OverScroller实现...

    Android 泡泡效果 bubble

    为了实现气泡的碰撞效果,可能还需要计算物理运动规律,如弹性碰撞等。 接下来,魔法效果的实现可能涉及到粒子系统(Particle System)。这是一种常见的特效生成技术,通过大量小元素(粒子)的组合来模拟复杂效果...

    android ScrollView弹性控件,横向和纵向滑动

    ReboundScrollView是一个仿照Facebook开源库Rebound实现的滚动视图,它旨在提供类似于物理世界的弹性效果,让用户在滑动时感受到更自然、更有趣的交互体验。这个自定义控件不仅具备了ScrollView的基本功能,还额外...

    Android 弹性控件

    - 在Android中实现弹性效果,通常需要自定义一个View或者ViewGroup,这样可以完全控制视图的行为和绘制过程。自定义View需要重写`onDraw()`方法进行绘制,以及`onMeasure()`和`onLayout()`方法来处理尺寸和布局。 ...

    Android实现伸缩弹力分布菜单效果(直线型布局)

    在Android开发中,为了提升用户体验,常常需要设计各种动态效果,其中一种常见的是伸缩弹力分布菜单。这种效果能够使菜单项在展开和收缩时展现出弹性和流畅性,为用户带来直观且有趣的交互体验。本文将深入探讨如何...

    Android 滑动效果 华丽翻页效果TurnPager

    2. **物理模拟**:为了使翻页效果看起来更真实,需要模拟纸张的物理特性,如重力、摩擦力和弹性。这通常涉及到复杂的数学计算,例如贝塞尔曲线用于平滑过渡,以及牛顿运动定律来模拟物体的动态行为。 3. **自定义...

    Android动画效果的强悍框架

    5. **弹性动画**:模拟物理世界的弹性运动,如弹簧效果,使动画更自然。 6. **路径动画**:视图沿着特定路径移动,可用于复杂的导航效果。 7. **组合动画**:多个动画同时或顺序执行,可实现复杂的交互效果。 8. **...

Global site tag (gtag.js) - Google Analytics