您可以使用translate補間動畫來實現此目的。
放置的LinearLayout保持textviews,ImageView的和按鈕在父線性/相對佈局:
<LinearLayout android:id="@+id/parent_layout">
<LinearLayout android:id="@+id/container_layout">
<Textview />
<ImageView />
<Buttons />
</LinearLayout>
</LinearLayout>
定義兩個平移在res /動畫文件夾,一個用於先前和另一個用於下一
吐溫動畫
`previous.xml` -
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromXDelta="-100%p"
android:toXDelta="0">
</translate>
`next.xml` -
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromXDelta="100%p"
android:toXDelta="0">
</translate>
初始化動畫和在活動的onCreate()方法得到的「容器」佈局的參考:
Animation previousAnim = AnimationUtils.loadAnimation(MainMenuActivity.this, R.anim.previous);
Animation nextAnim = AnimationUtils.loadAnimation(MainMenuActivity.this, R.anim.next);
LinearLayout containerLayout = (LinearLayout) findViewById(R.id.container_layout);
當next和prev被點擊,瀏覽該數據庫,更新textviews,imageviews等,並觸發動畫
previousButtonOnClick {
//navigate db and update views
containerLayout.startAnimation(previousAnim);
}
nextButtonOnClick {
//navigate db and update views
containerLayout.startAnimation(nextAnim);
}
是包含數據的LinearLayout另一個活動? :) –