improve activity transitions

This commit is contained in:
dkanada 2020-10-23 05:41:55 +09:00
commit 2817fcae45
6 changed files with 53 additions and 2 deletions

View file

@ -39,6 +39,12 @@ public class LoginActivity extends AbsBaseActivity implements View.OnClickListen
setUpViews();
}
@Override
public void onPause() {
super.onPause();
overridePendingTransition(0, R.anim.fade_quick);
}
private void setUpViews() {
setUpToolbar();
setUpOnClickListeners();
@ -104,10 +110,9 @@ public class LoginActivity extends AbsBaseActivity implements View.OnClickListen
PreferenceUtil.getInstance(LoginActivity.this).setUser(user);
PreferenceUtil.getInstance(LoginActivity.this).setToken(token);
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
Intent intent = new Intent(LoginActivity.this, SplashActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
finish();
} else {
Toast.makeText(LoginActivity.this, getResources().getString(R.string.error_version), Toast.LENGTH_SHORT).show();
}

View file

@ -39,6 +39,7 @@ public class MainActivity extends AbsSlidingMusicPanelActivity {
private ActivityMainDrawerLayoutBinding binding;
private ActivityMainContentBinding contentBinding;
private NavigationDrawerHeaderBinding navigationBinding;
private boolean onLogout;
@Nullable
MainActivityFragmentCallbacks currentFragment;
@ -88,6 +89,17 @@ public class MainActivity extends AbsSlidingMusicPanelActivity {
});
}
@Override
public void onPause() {
super.onPause();
// only override when logout selected
if (onLogout) {
overridePendingTransition(0, R.anim.fade_slow);
onLogout = false;
}
}
private void setCurrentFragment(Fragment fragment) {
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment, null).commit();
currentFragment = (MainActivityFragmentCallbacks) fragment;
@ -123,6 +135,7 @@ public class MainActivity extends AbsSlidingMusicPanelActivity {
new Handler().postDelayed(() -> startActivity(new Intent(MainActivity.this, AboutActivity.class)), 200);
break;
case R.id.nav_logout:
onLogout = true;
ConfirmLogoutDialog.create().show(getSupportFragmentManager(), "CONFIRM_LOGOUT_DIALOG");
break;
}

View file

@ -24,6 +24,7 @@ public class SplashActivity extends AbsBaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
setDrawUnderStatusbar();
@ -32,6 +33,12 @@ public class SplashActivity extends AbsBaseActivity {
setTaskDescriptionColorAuto();
}
@Override
public void onPause() {
super.onPause();
overridePendingTransition(0, R.anim.fade_delay);
}
@Override
protected void onResume() {
super.onResume();

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:fillAfter="true"
android:startOffset="1600"
android:duration="200" />
</set>

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:fillAfter="true"
android:duration="400" />
</set>

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:fillAfter="true"
android:startOffset="800"
android:duration="200" />
</set>