线性布局过度绘制可防止点击事件到其下方的视图,但允许滚动事件

时间:2014-03-08 14:08:18

标签: android android-layout

我需要在滚动视图上使用线性布局淡化布局,以实现禁用的外观。 但是该布局应该阻止所有点击事件,但允许滚动选项在这个褪色布局下拖动布局。

我尝试使用以下代码,

layer.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                isMoveAction = false;
                break;
            case MotionEvent.ACTION_UP:
                if(!isMoveAction){
                    return true;
                }
                break;                  
            case MotionEvent.ACTION_MOVE:
                isMoveAction = true;
                return false;
            default:
                break;
            }
            return false;
        }
    });

但没有按预期工作。 任何人都可以帮我吗?

提前致谢, JRH

1 个答案:

答案 0 :(得分:2)

我有一个解决方案。不确定这是否是最佳解决方案,

public class CustomScrollView extends ScrollView {

private boolean isOffLine;

public CustomScrollView(Context context) {
    super(context);

}

public CustomScrollView(Context context, AttributeSet attrs) {
    super(context, attrs);

}

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
    super.onInterceptTouchEvent(ev);
    return true;
}

onInterceptTouchEvent将禁用此子视图的所有单击事件。 希望这很好。

谢谢

JRH