Dbrant has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/295559

Change subject: Add transition animation when switching between Fragments.
......................................................................

Add transition animation when switching between Fragments.

- A short fade effect.
- This also fixes the transparency of the system status bar when the
  default Toolbar is hidden.

Change-Id: I7e09b9e4c4ee6e025964c3e50b1ba7c3bc3b9d63
---
M app/src/main/java/org/wikipedia/MainActivity.java
M app/src/main/java/org/wikipedia/MainActivityToolbarCoordinator.java
A app/src/main/res/anim/fade_in.xml
A app/src/main/res/anim/fade_out.xml
4 files changed, 19 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/59/295559/1

diff --git a/app/src/main/java/org/wikipedia/MainActivity.java 
b/app/src/main/java/org/wikipedia/MainActivity.java
index 54ec68a..e504f96 100644
--- a/app/src/main/java/org/wikipedia/MainActivity.java
+++ b/app/src/main/java/org/wikipedia/MainActivity.java
@@ -210,8 +210,8 @@
         PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
         setContentView(R.layout.activity_page);
 
-        toolbarCoordinator = new MainActivityToolbarCoordinator(this, 
(Toolbar) findViewById(R.id.main_toolbar));
         toolbarContainer = findViewById(R.id.main_toolbar_container);
+        toolbarCoordinator = new MainActivityToolbarCoordinator(this, 
toolbarContainer, (Toolbar) findViewById(R.id.main_toolbar));
         getSupportFragmentManager()
                 .addOnBackStackChangedListener(new 
FragmentManager.OnBackStackChangedListener() {
                     @Override
@@ -568,6 +568,7 @@
 
         resetFragmentsToFeedOrPage();
         FragmentTransaction trans = 
getSupportFragmentManager().beginTransaction();
+        trans.setCustomAnimations(R.anim.fade_in, R.anim.fade_out, 
R.anim.fade_in, R.anim.fade_out);
         trans.add(R.id.content_fragment_container, f);
         trans.addToBackStack(null);
         if (allowStateLoss) {
diff --git 
a/app/src/main/java/org/wikipedia/MainActivityToolbarCoordinator.java 
b/app/src/main/java/org/wikipedia/MainActivityToolbarCoordinator.java
index e549967..4be8b77 100644
--- a/app/src/main/java/org/wikipedia/MainActivityToolbarCoordinator.java
+++ b/app/src/main/java/org/wikipedia/MainActivityToolbarCoordinator.java
@@ -8,24 +8,28 @@
 
 public class MainActivityToolbarCoordinator {
     @NonNull private AppCompatActivity activity;
+    @NonNull private View toolbarContainerView;
     @NonNull private Toolbar defaultToolbar;
     @Nullable private Toolbar overrideToolbar;
 
-    public MainActivityToolbarCoordinator(@NonNull AppCompatActivity activity, 
@NonNull Toolbar defaultToolbar) {
+    public MainActivityToolbarCoordinator(@NonNull AppCompatActivity activity,
+                                          @NonNull View toolbarContainerView,
+                                          @NonNull Toolbar defaultToolbar) {
         this.activity = activity;
+        this.toolbarContainerView = toolbarContainerView;
         this.defaultToolbar = defaultToolbar;
         setActivityToolbar(defaultToolbar);
     }
 
     public void setOverrideToolbar(@NonNull Toolbar toolbar) {
         overrideToolbar = toolbar;
-        defaultToolbar.setVisibility(View.GONE);
+        toolbarContainerView.setVisibility(View.GONE);
         setActivityToolbar(overrideToolbar);
     }
 
     public void removeOverrideToolbar() {
         overrideToolbar = null;
-        defaultToolbar.setVisibility(View.VISIBLE);
+        toolbarContainerView.setVisibility(View.VISIBLE);
         setActivityToolbar(defaultToolbar);
     }
 
diff --git a/app/src/main/res/anim/fade_in.xml 
b/app/src/main/res/anim/fade_in.xml
new file mode 100644
index 0000000..5d274c6
--- /dev/null
+++ b/app/src/main/res/anim/fade_in.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<alpha xmlns:android="http://schemas.android.com/apk/res/android";
+    android:interpolator="@android:interpolator/decelerate_quad"
+    android:fromAlpha="0.0" android:toAlpha="1.0"
+    android:duration="@android:integer/config_shortAnimTime" />
diff --git a/app/src/main/res/anim/fade_out.xml 
b/app/src/main/res/anim/fade_out.xml
new file mode 100644
index 0000000..193b69d
--- /dev/null
+++ b/app/src/main/res/anim/fade_out.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<alpha xmlns:android="http://schemas.android.com/apk/res/android";
+    android:interpolator="@android:interpolator/accelerate_quad"
+    android:fromAlpha="1.0" android:toAlpha="0.0"
+    android:duration="@android:integer/config_shortAnimTime" />

-- 
To view, visit https://gerrit.wikimedia.org/r/295559
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7e09b9e4c4ee6e025964c3e50b1ba7c3bc3b9d63
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <dbr...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to