我在背景中有一个XML布局,顶部有透明的SurfaceView,如何通过SurfaceView将触摸事件传递给XML?
这是我的onTouch()监听器:
public boolean onTouch(View v, MotionEvent me)
{
//x = me.getX();
zoomController++;
Log.d("Tat", String.valueOf(zoomController));
//y = me.getY();
try
{
Thread.sleep(50);
} catch (InterruptedException e)
{
e.printStackTrace();
}
return true;
}
}
答案 0 :(得分:0)
您正在寻找OnInterceptTouchEvent
基本上,因为您在顶部有一个表面视图,并且您不希望它处理触摸事件,所以返回true以从子视图中获取事件。
public class ParentContainer extends View {
@SuppressWarnings("deprecation")
public ParentContainer (Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return true;//parent gets the touch event
}
答案 1 :(得分:0)
好的,所以我所做的只是在我的onTouch()底部我返回false,它让我实际上在两个画布上工作:XML和SurfaceView!