2016-12-10 7 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 в качестве родительской активности RighHalf в AndroidMinifest.xml.

<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

Переход по умолчанию - активность исчезает, я хочу оживить внешний вид родительской активности справа налево. –

ответ

0

Это не будет работать с методом

NavUtils.navigateUpFromSameTask(this); 

. Вы должны были бы начать свой ParentActivity через Intent, как вы делали в первом фрагменте кода:

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

или использовать метод NavUtils.navigateUpTo() с Intent 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) { NavUtils.navigateUpFromSameTask (this); // для размещения анимации overridePendingTransition (R.anim.slide_in_right, R.anim.slide_out_right); } ', и даже тогда на обратном щелчке он будет NewsFeedActivity, потому что я объявил NewsFeedActivity родительской деятельностью RighHalf в AndroidMinifest.xml. 'if (id == R.id.home) { NavUtils.navigateUpFromSameTask (this); // для размещения анимации overridePendingTransition (R.anim.slide_in_right, R.anim.slide_out_right); } ' –