我正在尝试使用ViewFlipper在视图之间添加动画,如下面的主题教程.但是,它似乎并不想工作.它会改变页面,但我没有动画 – 即使我给push_left_in添加了很大的延迟.
这是我的onCreate:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); viewFlipper = (ViewFlipper)findViewById(R.id.flipper); viewFlipper.setAnimation(AnimationUtils.loadAnimation(this,R.anim.push_left_in)); mapView = (MapView)findViewById(R.id.mapView); mapView.setBuiltInZoomControls(true); }
push_left_in来自Google示例.这是触发动作:
@Override public boolean onOptionsItemSelected(MenuItem item) { // Handle item selection switch (item.getItemId()) { case R.id.button_map: viewFlipper.setDisplayedChild(0); return true; case R.id.button_conditions_general: viewFlipper.setDisplayedChild(1); return true; (etc)
我的布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/mainlayout" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <ViewFlipper android:id="@+id/flipper" android:layout_width="fill_parent" android:layout_height="fill_parent"> <view class="com.google.android.maps.MapView" android:id="@+id/mapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" android:apiKey="MY_API_KEY" /> <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ffffff" android:stretchColumns="1" > <TableRow> <TextView android:id="@+id/field1" android:layout_column="1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#000000" android:textStyle="bold" android:textSize="18px" android:text="@string/field1" > </TextView> <EditText android:text="100" android:id="@+id/field2" android:layout_width="wrap_content" android:layout_height="wrap_content"> </EditText> <TextView android:id="@+id/field3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#000000" android:textStyle="bold" android:textSize="18px" android:text="%" > </TextView> </TableRow> </TableLayout> </ViewFlipper> </LinearLayout>
思考?
解决方法
请尝试在xml文件中设置动画.
<ViewFlipper android:id="@+id/flipper" android:layout_width="fill_parent" android:layout_height="fill_parent" android:inAnimation="@anim/push_left_in">