今天想用onTouchEvent实现动画效果
自定义FrameLayout子类RefreshLayout,在此布局下再嵌套一个LinearLayout布局。
在RefreshLayout实现onTouchEvent,结果发现一直接收不到MotionEvent.ACTION_MOVE
原因:
因为LinearLayout嵌套在里面,所以一开始触碰到的是LinearLayout,而Linear’Layout的onTouch方法是直接返回false,所以导致传回RefreshLayout时是false不能用。
解决方法:
findViewById(R.id.ll).setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}//ll是LinearLayout的id
});
其它控件也是这样操作
(开发日记2)