我已经为 FragmentActivity 使用 ViewPager 布局实现了滑动视图。即 FragmentActivity 创建一个新的 FregmentPagerAdapter 来管理四个 Fragment 类。我需要拦截一次触摸(无论 Fragment 当前关注什么)来执行操作。我尝试在 FragmentActivity 类中覆盖 onTouchEvent,但它不起作用(可能是因为 FragmentActivity 它只是一个容器,所有视图都被 Fragment 占用)。我能怎么做?执行它的操作独立于它当前显示的片段。
问问题
94 次
1 回答
0
我主要的第一件事是创建自己的实现 OnTouchListener 的 View 类,例如:
public class TouchMeView extends View implements OnTouchListener {
public TouchMeView(Context context) {
super(context);
setFocusable(true);
setFocusableInTouchMode(true);
this.setOnTouchListener(this);
}
public boolean onTouch(View view, MotionEvent event) {
//IMPLEMENT YOUR ACTION WITHIN THIS METHOD
return true;
}
}
请注意,我没有测试此代码,希望您可以自己修改它。
编辑:忘记添加 - 您应该在 FragmentActivity 的 onCreate(...) 方法中将此类的实例附加到您的布局中:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//...
paintView = new PaintView(this);
addContentView(paintView, null);
paintView.requestFocus();
}
于 2013-09-08T07:47:14.853 回答