我在android中设置了以下动画:
向右滑动
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="100%p" android:toXDelta="0"
android:duration="@android:integer/config_shortAnimTime"/>
</set>
向右滑动
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="100%p"
android:duration="@android:integer/config_shortAnimTime"/>
</set>
然后我创建了一个实现动画的基类,我的所有活动扩展了这个基类,如下所示:
public class BaseActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
slideInTransition();
}
protected void slideInTransition() {
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right);
}
}
因此,如果我使用startActivity(intent)启动新活动,并且按下工具栏(旧操作栏),动画就会起作用。但如果按下android的后退按钮动画就不会发生。 我以这种方式使用工具栏:
// get the actionbar as Toolbar
Toolbar toolbar = (Toolbar) findViewById(R.id.signIn_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
答案 0 :(得分:1)
您需要覆盖活动
中的onBackPressed
方法
@Override
public void onBackPressed() {
finish();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right);
}
答案 1 :(得分:1)
好吧,&#34;回来&#34; ActionBar中的按钮实际上是一个&#34; Up&#34;按钮。使用它,可以将您带到应用程序导航层次结构的更高级别。实际&#34;返回&#34;按钮会带你到最后一个地方&#39;你在。
所以请记住&#34; up&#34;按钮将始终带您到您的应用程序中的相同位置!虽然&#34;回来&#34;按钮可能会在您每按一次,甚至到另一个应用程序时将您带到不同的位置。
详细了解此主题,以便更好地了解它:http://developer.android.com/design/patterns/navigation.html