我有一个脚蹼:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/ParentLayout"
xmlns:android="http://schemas.android.com/apk/res/android" style="@style/MainLayout" >
<LinearLayout android:id="@+id/FlipperLayout" style="@style/FlipperLayout">
<ViewFlipper android:id="@+id/viewflipper" style="@style/ViewFlipper">
<!--adding views to ViewFlipper-->
<include layout="@layout/home1" android:layout_gravity="center_horizontal" />
<include layout="@layout/home2" android:layout_gravity="center_horizontal" />
</ViewFlipper>
</LinearLayout>
</LinearLayout>
第一个布局home1包含一个滚动视图。我应该如何区分翻转手势和滚动?目前:
- 如果我删除滚动视图,我可以滑动
- 如果我添加滚动视图,我只能滚动。
我看到一个建议我应该重写 onInterceptTouchEvent(MotionEvent),但我不知道该怎么做。此刻,我的代码如下所示:
public class HomeActivity extends Activity {
-- declares
@Override
public void onCreate(Bundle savedInstanceState) {
-- declares & preliminary actions
LinearLayout layout = (LinearLayout) findViewById(R.id.ParentLayout);
layout.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) {
return true;
}
return false;
}});
@Override
public boolean onTouchEvent(MotionEvent event) {
gestureDetector.onTouchEvent(event);
return true;
}
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
// http://www.codeshogun.com/blog/2009/04/16/how-to-implement-swipe-action-in-android/
}
}
}
有人可以指导我正确的方向吗?
谢谢你。