2016-12-10 154 views
0

我在ActionBar中單擊圖標時開始一個活動,併爲轉換製作動畫。 下面是代碼:如何在回到父級活動時啓動動畫

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
     int id = item.getItemId(); 

    if (id == R.id.action_menu) { 
     Intent intent = new Intent(NewsFeedActivity.this, RightHalfMenu.class); 
     startActivity(intent); 
     overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left); 
    } 

現在我也想動畫當我點擊後退箭頭按鈕將返回到父活動。 默認轉換父活動淡入,我想從右到左設置父活動的外觀。

下面是代碼:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    int id = item.getItemId(); 

    if(id == R.id.home){ 
     NavUtils.navigateUpFromSameTask(this); 
     //for putting animation 
     overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right); 

    } 
    return super.onOptionsItemSelected(item); 
} 

在默認過渡父活動淡入,我想從右至左動畫父活動的外觀。 我該怎麼做?

P.S:我已刪除了該代碼

if(id == R.id.home){ 
    NavUtils.navigateUpFromSameTask(this); 
    //for putting animation 
    overridePendingTransition(R.anim.slide_in_right,R.anim.slide_out_right); 

} 

,甚至然後回來點擊它會NewsFeedActivity因爲我已經宣佈NewsFeedActivity在AndroidMinifest.xml RighHalf的父活動。

<activity 
    android:name=".activities.RightHalfMenu" 
    android:parentActivityName=".activities.NewsFeedActivity"> 

    <!-- Parent activity meta-data to support 4.0 and lower --> 
    <meta-data 
     android:name="android.support.PARENT_ACTIVITY" 
     android:value=".activities.NewsFeedActivity"/> 
    > 
</activity> 
+0

究竟是什麼問題? – JoxTraex

+0

默認轉換是活動淡入,我想從右到左動畫Parent動作的外觀。 –

回答

0

這不會與

NavUtils.navigateUpFromSameTask(this); 

方法工作。你必須通過一個意圖開始您ParentActivity就像你在你的第一個片段那樣:

Intent intent = new Intent(RightHalfMenu.this, NewsFeedActivity.class); 
    startActivity(intent); 
    overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right); 

或使用NavUtils.navigateUpTo()方法,意圖F.E. :

NavUtils.navigateUpTo(this, new Intent(RightHalfMenu.this, NewsFeedActivity.class)); 
    overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right); 
+0

親愛的其實問題不是加載活動,它成功加載父活動,但父活動的默認外觀是,它淡化它。但我想從右向左製作父母活動的外觀 –

+0

我更新了我的回答 –

+0

它不起作用。實際上,我刪除了這個代碼'if(id == R.id.home){{{{{{{}}} {} //用於放置動畫 overridePendingTransition(R.anim.slide_in_right,R.anim.slide_out_right); }'然後再點擊它會去NewsFeedActivity,因爲我已經宣佈NewsFeedActivity作爲AndroidMinifest.xml中RighHalf的父活動。 'if(id == R.id.home){ NavUtils.navigateUpFromSameTask(this); //用於放置動畫 overridePendingTransition(R.anim.slide_in_right,R.anim.slide_out_right); }' –