Abd*_*med 9 android support-v4
片段动画无法正常使用 support-v4:27.1.0
getSupportFragmentManager()
.beginTransaction()
.setCustomAnimations(ENTER_ANIM , LEAVE_ANIM)
.replace(R.id.main_activity_fragment_place_holder, fragment)
.addToBackStack(tag)
.commitAllowingStateLoss();
Run Code Online (Sandbox Code Playgroud)
进入动画
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="500" />
Run Code Online (Sandbox Code Playgroud)
离开动画
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="500" />
Run Code Online (Sandbox Code Playgroud)
Ale*_*oni 17
我刚刚遇到同样的问题.支持库27.1.0似乎与使用alpha属性的动画转换有问题.
我的印象是转换引擎没有正确实现"填充后",因此片段alpha在删除片段之前会快速反弹回1.这会导致闪烁效果,其中替换的片段短暂可见,然后消失.
我解决了切换到动画转换的问题.
即我替换了我的/res/anim/fade_in.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="0"
android:toAlpha="1"
android:duration="500"
/>
Run Code Online (Sandbox Code Playgroud)
使用类似的/res/animator/fade_in.xml
<?xml version="1.0" encoding="utf-8"?>
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:propertyName="alpha"
android:valueFrom="0"
android:valueTo="1"
android:duration="500"
/>
Run Code Online (Sandbox Code Playgroud)
我为fade_out转换做了同样的事情.
将支持库从 27.0.2 升级到 27.1.0 后,我遇到了完全相同的问题。这些碎片并没有平滑地消失,而是闪烁了几次。
似乎所有动画师都按预期工作,除了alpha动画师。
但是,我找到了解决此错误的方法:如果禁用输入动画,过渡仍然会消失。它不会像以前一样褪色,但在我看来它看起来不错(甚至更好)。
新的进入动画(我将其命名为nothing.xml)是:
<?xml version="1.0" encoding="utf-8"?>
<set/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1115 次 |
| 最近记录: |