Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 线性布局透支防止单击事件到其下方的视图,但允许滚动事件_Android_Android Layout - Fatal编程技术网

Android 线性布局透支防止单击事件到其下方的视图,但允许滚动事件

Android 线性布局透支防止单击事件到其下方的视图,但允许滚动事件,android,android-layout,Android,Android Layout,我需要一个线性布局褪色的布局在一个滚动视图,实现一个残疾人的外观和感觉。 但该布局应阻止所有单击事件,但允许滚动选项将布局拖到该褪色布局下 我尝试了以下代码 layer.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) {

我需要一个线性布局褪色的布局在一个滚动视图,实现一个残疾人的外观和感觉。 但该布局应阻止所有单击事件,但允许滚动选项将布局拖到该褪色布局下

我尝试了以下代码

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

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

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

谢谢,它帮助我摆脱了使用自定义LinearLayout时的困扰,因为它实际上在滚动视图中包含了一些子视图。所以,若我把ClickListener放在子视图中,那个么它会跳过父视图。所以我用了onInterceptTouchEvent来代替onTouch…谢谢