我想讓「向上」導航使用與「返回」導航相同的動畫。我正在使用overridePendingTransition
覆蓋動畫,但我無法確定後退按鈕默認使用哪個動畫資源。有人知道嗎?Android中的默認後退按鈕導航動畫
作爲示例,在默認的ICS安裝中,Settings應用程序會從其子頁面執行此操作。
我想讓「向上」導航使用與「返回」導航相同的動畫。我正在使用overridePendingTransition
覆蓋動畫,但我無法確定後退按鈕默認使用哪個動畫資源。有人知道嗎?Android中的默認後退按鈕導航動畫
作爲示例,在默認的ICS安裝中,Settings應用程序會從其子頁面執行此操作。
最後我呼籲了導航finish()
。這樣,動畫是相同的,並且以前的活動不會失去其狀態。作爲參考,代碼如下:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
return true;
}
return false;
}
請注意,如果你的活動可以從您的應用程序之外啓動,可能需要一些額外的邏輯,確保了導航的預期行爲。
所以,如果我正確理解你,你想複製「後退」動畫(滑出左側)你的一個意見或重寫後退按鈕按下。那麼,爲此,請在名爲anim
的res
文件夾中創建一個新文件夾。內anim
文件夾中創建一個新的Android XML
文件,並將其命名爲slide_out_left
和將下面的代碼:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="-50%p"
android:duration="@android:integer/config_mediumAnimTime"/>
<alpha android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="@android:integer/config_mediumAnimTime" />
</set>
現在,創建另一個Android XML
文件,並調用它slide_in_right
並把下面的代碼:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="50%p" android:toXDelta="0"
android:duration="@android:integer/config_mediumAnimTime"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_mediumAnimTime" />
</set>
最後,你可以在任何需要的地方調用動畫。例如,當重寫等待轉換:
MyActivity.this.overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
後退按鈕的默認ICS動畫不會橫向移動。它以3D方式淡入淡出。 – Chris
爲什麼沒有人喜歡(投票)這個答案? –
你爲什麼不設置祖先的導航? https://developer.android.com/training/implementing-navigation/ancestral.html不會使用與後退按鈕相同的動畫(無論不同版本使用哪種動畫)? – tir38