roi*_*erg 3 events android touch android-scrollview
我有ScrollView另一个视图(带Buttons).该ScrollView走的是整个屏幕,并模糊是它下面的视图.
在我的应用程序的某个时刻,我需要ScrollView禁用(但仍然可见)并将所有触摸事件传输到Buttons下面的ScrollView.我怎样才能做到这一点?有些视图Buttons在禁用时会自动执行此操作,但a ScrollView不会这样做.
Luk*_*rog 12
尝试实现你自己ScrollView的标志,指示状态(禁用/启用),并覆盖onTouchEvent和dispatchTouchEvent让触摸事件通过ScrollView.这是一个例子:
public class DisabledScrollView extends ScrollView {
private boolean mIsDisable = false;
// if status is true, disable the ScrollView
public void setDisableStatus(boolean status) {
mIsDisable = status;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
// no more tocuh events for this ScrollView
if (mIsDisable) {
return false;
}
return super.onTouchEvent(ev);
}
public boolean dispatchTouchEvent(MotionEvent ev) {
// although the ScrollView doesn't get touch events , its children will get them so intercept them.
if (mIsDisable) {
return false;
}
return super.dispatchTouchEvent(ev);
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您所要做的就是更改该标志的值.看看它是否有效.
| 归档时间: |
|
| 查看次数: |
5838 次 |
| 最近记录: |