public class WZScrollView extends ScrollView {
private static final String TAG = "WZScrollView";
public WZScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
Log.d(TAG, "WZScrollView: ");
}
public WZScrollView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public WZScrollView(Context context) {
this(context, null);
}
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
if (scrollCallBack != null)
scrollCallBack.scrollChangedCallback(l, t, oldl, oldt);
super.onScrollChanged(l, t, oldl, oldt);
}
@Override
public void scrollBy(int x, int y) {
int z = 2;
super.scrollBy(x, y / z);
}
OnScrollChangedCallback scrollCallBack;
public void setScrollCallBack(OnScrollChangedCallback scrollCallBack) {
this.scrollCallBack = scrollCallBack;
}
public interface OnScrollChangedCallback {
void scrollChangedCallback(int l, int t, int oldl, int oldt);
}
/**
* 滑轮处理
*/
@Override
public boolean onGenericMotionEvent(MotionEvent event) {
if (0 != (event.getSource() & InputDevice.SOURCE_CLASS_POINTER)) {
switch (event.getAction()) {
// process the scroll wheel movement...处理滚轮事件
case MotionEvent.ACTION_SCROLL:
// 获得垂直坐标上的滚动方向,也就是滚轮向下滚
smoothScrollBy(0, ((int) event.getAxisValue(MotionEvent.AXIS_VSCROLL) * -30));
return true;
}
}
return super.onGenericMotionEvent(event);
}
}
ScrollView减缓滑动事件
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 背景:在scrollview里子组件A里 添加了触摸事件(pan,move)等结果移动A的时候 scrollvie...
- 解决思路:中心思路:每过200毫秒判断一次滚动的Y值是否发生变化设立onKeyUp的监听,在手指离开屏幕后用 ha...
- 2016年11月04日 21:55:04 csdn读完这篇博客可以实现:1.scrollview从任意位置通过惯性...
- 一、前言 小编今天给大家分享一个属性,这个是小编在做项目的时候遇到的问题,ScrollView的属性都点遍了也不好...
- 备注:第一次写,可能有一些东西描述的不是很清楚,还请海涵 一、滑动冲突的解决 现象:两者都能滑动,当两者嵌套时,地...