当我在ActionBar中点击一个图标并且我正在为转换制作动画时,我正在启动一个Activity。 这是代码:
@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 :(得分:0)
这不能与
一起使用 NavUtils.navigateUpFromSameTask(this);
方法。您必须通过Intent开始您的ParentActivity,就像您在第一个片段中所做的那样:
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);