improve activity transitions
This commit is contained in:
parent
f96c6aa969
commit
2817fcae45
6 changed files with 53 additions and 2 deletions
|
|
@ -39,6 +39,12 @@ public class LoginActivity extends AbsBaseActivity implements View.OnClickListen
|
||||||
setUpViews();
|
setUpViews();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPause() {
|
||||||
|
super.onPause();
|
||||||
|
overridePendingTransition(0, R.anim.fade_quick);
|
||||||
|
}
|
||||||
|
|
||||||
private void setUpViews() {
|
private void setUpViews() {
|
||||||
setUpToolbar();
|
setUpToolbar();
|
||||||
setUpOnClickListeners();
|
setUpOnClickListeners();
|
||||||
|
|
@ -104,10 +110,9 @@ public class LoginActivity extends AbsBaseActivity implements View.OnClickListen
|
||||||
PreferenceUtil.getInstance(LoginActivity.this).setUser(user);
|
PreferenceUtil.getInstance(LoginActivity.this).setUser(user);
|
||||||
PreferenceUtil.getInstance(LoginActivity.this).setToken(token);
|
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);
|
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
finish();
|
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(LoginActivity.this, getResources().getString(R.string.error_version), Toast.LENGTH_SHORT).show();
|
Toast.makeText(LoginActivity.this, getResources().getString(R.string.error_version), Toast.LENGTH_SHORT).show();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,7 @@ public class MainActivity extends AbsSlidingMusicPanelActivity {
|
||||||
private ActivityMainDrawerLayoutBinding binding;
|
private ActivityMainDrawerLayoutBinding binding;
|
||||||
private ActivityMainContentBinding contentBinding;
|
private ActivityMainContentBinding contentBinding;
|
||||||
private NavigationDrawerHeaderBinding navigationBinding;
|
private NavigationDrawerHeaderBinding navigationBinding;
|
||||||
|
private boolean onLogout;
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
MainActivityFragmentCallbacks currentFragment;
|
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) {
|
private void setCurrentFragment(Fragment fragment) {
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment, null).commit();
|
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment, null).commit();
|
||||||
currentFragment = (MainActivityFragmentCallbacks) fragment;
|
currentFragment = (MainActivityFragmentCallbacks) fragment;
|
||||||
|
|
@ -123,6 +135,7 @@ public class MainActivity extends AbsSlidingMusicPanelActivity {
|
||||||
new Handler().postDelayed(() -> startActivity(new Intent(MainActivity.this, AboutActivity.class)), 200);
|
new Handler().postDelayed(() -> startActivity(new Intent(MainActivity.this, AboutActivity.class)), 200);
|
||||||
break;
|
break;
|
||||||
case R.id.nav_logout:
|
case R.id.nav_logout:
|
||||||
|
onLogout = true;
|
||||||
ConfirmLogoutDialog.create().show(getSupportFragmentManager(), "CONFIRM_LOGOUT_DIALOG");
|
ConfirmLogoutDialog.create().show(getSupportFragmentManager(), "CONFIRM_LOGOUT_DIALOG");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ public class SplashActivity extends AbsBaseActivity {
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
setContentView(R.layout.activity_splash);
|
setContentView(R.layout.activity_splash);
|
||||||
setDrawUnderStatusbar();
|
setDrawUnderStatusbar();
|
||||||
|
|
||||||
|
|
@ -32,6 +33,12 @@ public class SplashActivity extends AbsBaseActivity {
|
||||||
setTaskDescriptionColorAuto();
|
setTaskDescriptionColorAuto();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPause() {
|
||||||
|
super.onPause();
|
||||||
|
overridePendingTransition(0, R.anim.fade_delay);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|
|
||||||
9
app/src/main/res/anim/fade_delay.xml
Normal file
9
app/src/main/res/anim/fade_delay.xml
Normal 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>
|
||||||
8
app/src/main/res/anim/fade_quick.xml
Normal file
8
app/src/main/res/anim/fade_quick.xml
Normal 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>
|
||||||
9
app/src/main/res/anim/fade_slow.xml
Normal file
9
app/src/main/res/anim/fade_slow.xml
Normal 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>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue