I have a very odd issue that I cannot figure out. I was not an issue until recently but I can't seem to revert back to prevent it. Also the other odd thing is it works on some devices and others it does not.
The issue is animations. One in particular is snack bar. The snackbar should animate up and down but it is not. it just shows then hides. check video below to see issue.
Here is the Android code to animate the snackbar in
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { ViewCompat.setTranslationY(mView, mView.getHeight()); ViewCompat.animate(mView) .translationY(0f) .setInterpolator(FAST_OUT_SLOW_IN_INTERPOLATOR) .setDuration(ANIMATION_DURATION) .setListener(new ViewPropertyAnimatorListenerAdapter() { @Override public void onAnimationStart(View view) { mView.animateChildrenIn(ANIMATION_DURATION - ANIMATION_FADE_DURATION, ANIMATION_FADE_DURATION); } @Override public void onAnimationEnd(View view) { onViewShown(); } }).start(); }
Its using ViewCompat for the v4 Library. I have other animations working in another activity working fine. Also the issue is not on just one activity its all of them. That makes me think its system wide somehow. But they all use different internal themes but all extend Theme.AppCompat.NoActionBar.
Here is my main layout
<android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:elevation="4dp"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:titleTextAppearance="@style/ToolbarTitle" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:layout_scrollFlags="scroll|enterAlways|snap"/> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabTextAppearance="@style/TabText" app:tabMinWidth="@dimen/tab_minwidth" app:tabMode="fixed" app:tabGravity="fill" app:layout_scrollFlags="enterAlways"/> </android.support.design.widget.AppBarLayout> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" > <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" /> </FrameLayout> <fr.castorflex.android.circularprogressbar.CircularProgressBar android:id="@+id/base_progressSpinner" android:layout_gravity="center" android:layout_width="48dp" android:layout_height="48dp" android:indeterminate="true" android:visibility="invisible" app:cpb_color="@color/spinner" app:cpb_rotation_speed="1.0" app:cpb_sweep_speed="1.0" app:cpb_stroke_width="4dp" app:cpb_min_sweep_angle="10" app:cpb_max_sweep_angle="300"/> <android.support.design.widget.FloatingActionButton android:id="@+id/fab_upload" android:visibility="gone" android:layout_height="wrap_content" android:layout_width="wrap_content" app:layout_anchor="@id/content_frame" app:layout_anchorGravity="bottom|right|end" app:borderWidth="0dp" android:src="@drawable/app_fab_upload" android:layout_margin="@dimen/big_padding" android:clickable="true" app:backgroundTint="@color/fab_social"/> <android.support.design.widget.FloatingActionButton android:id="@+id/fab_muzei" android:visibility="gone" android:layout_height="wrap_content" android:layout_width="wrap_content" app:layout_anchor="@id/content_frame" app:layout_anchorGravity="bottom|right|end" app:borderWidth="0dp" android:src="@drawable/app_fab_muzei" android:layout_margin="@dimen/big_padding" android:clickable="true" app:backgroundTint="@color/fab_social"/> </android.support.design.widget.CoordinatorLayout>
Devices it works on
- Nexus 9 (Marshmallow)
- Nexus 4 (KitKat)
- Galaxy S7 (Marshmallow)
Devices it does not work
- Droid Turbo 2 (Marshmallow)
- Galaxy S7 (Marshmallow) *my device works, my testers does not
- Nexus 6p (Android N)
The other animation issues are with Switches. I have 2 in same layout and one stutters when switched and the other just switches with no animation.
I also have a LayoutTransition set to my AppBarLayout to animation the hiding/showing of my TabLayout and it works fine and all devices