我正在做翻转卡应用程序,我在框架布局上应用了onTouchListener。通过使用singletap gesturelistener我正在从前到后翻转卡片,反之亦然。一切都很好。由于我的数据很大,我必须在我的膨胀布局上引入滚动视图。
setContentView(R.layout.flashframe);
cardView = (FrameLayout)findViewById(R.id.container);
cardView.setOnTouchListener(this);
mGestureDetector=new GestureDetector(this.getBaseContext(), new MyGestureListener(this));
if(savedInstanceState==null){
getFragmentManager().beginTransaction()
.add(R.id.container, new CardFrontFragment()).commit();
cardNumber=1;
setCard(cardNumber);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
mGestureDetector.onTouchEvent(event);
return true;
}
public class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
public MyGestureListener(OpenClass openClass) {
// TODO Auto-generated constructor stub
}
@Override
public boolean onSingleTapUp(MotionEvent me)
{
flipCard();
return true;
}
}
XML布局: -
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:weightSum="100" android:layout_height="match_parent">
<ScrollView android:layout_weight="30" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:text="To be retrieved from sqlite"
android:layout_width="match_parent" android:layout_height="match_parent"></TextView>
</ScrollView>
</LinearLayout>
框架布局: -
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
当我使用滚动视图为布局充气时,手势监听器没有响应,而滚动视图正在前卡上工作。如果我使用滚动视图,我无法翻转。
请帮助我,我怎么能解决这个问题..
答案 0 :(得分:0)
您应该覆盖ScrollView的onTouchListener。在其中,您可以检查何时翻转卡片或滚动...