Android AppCompact 幻灯片活动
Android AppCompact slide activities
我在 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>
然后我创建了一个基础 class 来实现动画,我的所有活动都扩展了这个基础 class 如下:
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) 开始新的 activity 并且如果我在工具栏(旧操作栏)上按回,动画就会工作。但是如果按下 android 的后退按钮,则动画不会发生。
我是这样使用工具栏的:
// get the actionbar as Toolbar
Toolbar toolbar = (Toolbar) findViewById(R.id.signIn_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
您需要覆盖 Activity
中的 onBackPressed
方法
@Override
public void onBackPressed() {
finish();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right);
}
嗯,ActionBar 中的 "back" 按钮实际上是一个 "Up" 按钮。使用它,您可以进入应用程序导航层次结构的更高级别。实际的 "back" 按钮会将您带到您所在的最后一个 'place'。
因此请记住,"up" 按钮将始终将您带到应用程序中的相同位置!而 "back" 按钮可能会在您每次按下时将您带到不同的地方,甚至是另一个应用程序。
在此处阅读有关此主题的更多信息以更好地理解它:http://developer.android.com/design/patterns/navigation.html
我在 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>
然后我创建了一个基础 class 来实现动画,我的所有活动都扩展了这个基础 class 如下:
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) 开始新的 activity 并且如果我在工具栏(旧操作栏)上按回,动画就会工作。但是如果按下 android 的后退按钮,则动画不会发生。 我是这样使用工具栏的:
// get the actionbar as Toolbar
Toolbar toolbar = (Toolbar) findViewById(R.id.signIn_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
您需要覆盖 Activity
中的onBackPressed
方法
@Override
public void onBackPressed() {
finish();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right);
}
嗯,ActionBar 中的 "back" 按钮实际上是一个 "Up" 按钮。使用它,您可以进入应用程序导航层次结构的更高级别。实际的 "back" 按钮会将您带到您所在的最后一个 'place'。
因此请记住,"up" 按钮将始终将您带到应用程序中的相同位置!而 "back" 按钮可能会在您每次按下时将您带到不同的地方,甚至是另一个应用程序。
在此处阅读有关此主题的更多信息以更好地理解它:http://developer.android.com/design/patterns/navigation.html