У меня есть ViewFlipper, который содержит только один дочерний элемент (линейный слой), проблема, с которой я сталкиваюсь, заключается в том, что когда я переключаю представления, он работает хорошо, отображает следующий вид и так далее.Но анимация не идет гладко, я имею в виду, что текущий экран движется, а следующий появляется!В этом случае текущий экран удаляется, а следующий скользит.
Как сделать так, чтобы текущий экран сдвигался, и позволял следующему скользить, пока у него есть один дочерний элемент в ViewFlipper?Я искал повсюду, ничего не могу найти!
xml код:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/layout">
<ViewFlipper
android:id="@+id/flipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@+id/dateView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2"
/>
<ListView
android:id="@+id/myListView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
/>
</LinearLayout>
</ViewFlipper>
код Android:
case MotionEvent.ACTION_UP:{
currentX = event.getX();
if (Math.abs(currentX - downXValue) >= v.getWidth()/5){
if(currentX < downXValue){
calendar.add(Calendar.DAY_OF_MONTH, 1);
dateAdapter.notifyDataSetChanged();
todoAdapter.clear();
todoAdapter.notifyDataSetChanged();
vf.setInAnimation(v.getContext(), R.anim.push_left_in);
vf.setOutAnimation(v.getContext(), R.anim.push_left_out);
vf.showPrevious();
}
else{
calendar.add(Calendar.DAY_OF_MONTH, -1);
dateAdapter.notifyDataSetChanged();
todoAdapter.clear();
todoAdapter.notifyDataSetChanged();
vf.setInAnimation(v.getContext(), R.anim.push_right_in);
vf.setOutAnimation(v.getContext(), R.anim.push_right_out);
vf.showNext();
}
}
break;
}
С наилучшими пожеланиями!