SetupWizardActivity: add slide animation to the fragments
This commit is contained in:
parent
448601291f
commit
3d9c2fcdcf
|
@ -23,12 +23,22 @@ public class SetupWizardActivity extends AppCompatActivity {
|
|||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_setup_wizard);
|
||||
switchToFragment(new WelcomeFragment());
|
||||
}
|
||||
|
||||
private<T extends BaseWizardFragment> void switchToFragment(T fragment) {
|
||||
// Don't use switchToFragment for the first time
|
||||
// because we don't want animation for the first fragment
|
||||
// (it would have nothing to animate upon, resulting in a black background)
|
||||
getSupportFragmentManager()
|
||||
.beginTransaction()
|
||||
.replace(R.id.setup_wizard_container, new WelcomeFragment())
|
||||
.commit();
|
||||
}
|
||||
|
||||
private<T extends BaseWizardFragment> void switchToFragment(T fragment, boolean reverseAnimation) {
|
||||
getSupportFragmentManager()
|
||||
.beginTransaction()
|
||||
.setCustomAnimations(
|
||||
reverseAnimation ? R.anim.slide_in_from_left : R.anim.slide_in_from_right,
|
||||
reverseAnimation ? R.anim.slide_out_to_right : R.anim.slide_out_to_left
|
||||
)
|
||||
.replace(R.id.setup_wizard_container, fragment)
|
||||
.commit();
|
||||
}
|
||||
|
@ -97,7 +107,7 @@ public class SetupWizardActivity extends AppCompatActivity {
|
|||
@Override
|
||||
public void onNavigateNext() {
|
||||
super.onNavigateNext();
|
||||
mActivity.switchToFragment(new PermissionsFragment());
|
||||
mActivity.switchToFragment(new PermissionsFragment(), false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -122,7 +132,7 @@ public class SetupWizardActivity extends AppCompatActivity {
|
|||
@Override
|
||||
public void onNavigateBack() {
|
||||
super.onNavigateBack();
|
||||
mActivity.switchToFragment(new WelcomeFragment());
|
||||
mActivity.switchToFragment(new WelcomeFragment(), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
6
app/src/main/res/anim/slide_in_from_left.xml
Normal file
6
app/src/main/res/anim/slide_in_from_left.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<translate xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:duration="@android:integer/config_shortAnimTime"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:fromXDelta="-100%"
|
||||
android:toXDelta="0%" />
|
6
app/src/main/res/anim/slide_in_from_right.xml
Normal file
6
app/src/main/res/anim/slide_in_from_right.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<translate xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:duration="@android:integer/config_shortAnimTime"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:fromXDelta="100%"
|
||||
android:toXDelta="0%" />
|
6
app/src/main/res/anim/slide_out_to_left.xml
Normal file
6
app/src/main/res/anim/slide_out_to_left.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<translate xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:duration="@android:integer/config_shortAnimTime"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:fromXDelta="0%"
|
||||
android:toXDelta="-100%" />
|
6
app/src/main/res/anim/slide_out_to_right.xml
Normal file
6
app/src/main/res/anim/slide_out_to_right.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<translate xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:duration="@android:integer/config_shortAnimTime"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:fromXDelta="0%"
|
||||
android:toXDelta="100%" />
|
Loading…
Reference in a new issue