読者です 読者をやめる 読者になる 読者になる

【Android】touchEventを下のviewにスルーさせたい場合

onTouchEventでfalse、onInterceptTouchEventでtrueを返すようにすることで、

自分は動かないようにさせ、その下にあるviewはtouchを関知するようにすることが可能でした。

※以下はHorizontalScrollViewの例になっています。

package test;

import android.content.Context;

import android.util.AttributeSet;

import android.view.MotionEvent;

import android.widget.HorizontalScrollView;

public class NoScrollView extends HorizontalScrollView {

public NoScrollView(Context context) {

super(context);

}

public NoScrollView(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

}

public NoScrollView(Context context, AttributeSet attrs) {

super(context, attrs);

}

public boolean onTouchEvent(MotionEvent ev) {

return false;

}

public boolean onInterceptTouchEvent(MotionEvent ev) {

return true;

}

}