Android应用中的惯性滚动怎么利用 ScrollView取消
发布时间:2020-12-02 17:37:32
来源:亿速云
阅读:162
作者:Leah
这期内容当中小编将会给大家带来有关Android应用中的惯性滚动怎么利用 ScrollView取消,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
ScrollView中惯性滚动的效果,想让这个ScrollView慢一点滑动或者接近drag(拖拽)操作,就提出了添加阻尼的说法。只要重新fling方法即可,将velocity值极至缩小。
实例如下:
public class CustomHorizontalScrollView extends HorizontalScrollView {
private Context context;
private ScrollViewListenner listenner;
private CustomHorizontalScrollView currentView;
public CustomHorizontalScrollView(Context context) {
super(context);
// TODO Auto-generated constructor stub
this.context = context;
}
public CustomHorizontalScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
this.context = context;
}
public CustomHorizontalScrollView(Context context, AttributeSet attrs,
int defStyleAttr) {
super(context, attrs, defStyleAttr);
// TODO Auto-generated constructor stub
this.context = context;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
currentView = this;
return super.onTouchEvent(ev);
}
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
// TODO Auto-generated method stub
if (null != listenner) {
this.listenner.onScrollChanged(currentView, l, t, oldl, oldt);
}
super.onScrollChanged(l, t, oldl, oldt);
}
public interface ScrollViewListenner {
public void onScrollChanged(CustomHorizontalScrollView view, int l,
int t, int oldl, int oldt);
}
public void setScrollViewListenner(ScrollViewListenner listenner) {
this.listenner = listenner;
}
/**
*
*阻尼:1000为将惯性滚动速度缩小1000倍,近似drag操作。
@Override
public void fling(int velocity) {
super.fling(velocity / 1000);
}
*/
}
上述就是小编为大家分享的Android应用中的惯性滚动怎么利用 ScrollView取消了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。