首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >支持-v4:27.1.0片段自定义动画无法按预期工作

支持-v4:27.1.0片段自定义动画无法按预期工作
EN

Stack Overflow用户
提问于 2018-03-09 02:43:51
回答 3查看 1.5K关注 0票数 9

片段动画在support-v4:27.1.0中不能正常工作

代码语言:javascript
运行
复制
getSupportFragmentManager()
       .beginTransaction()
       .setCustomAnimations(ENTER_ANIM , LEAVE_ANIM)
       .replace(R.id.main_activity_fragment_place_holder, fragment)
       .addToBackStack(tag)
       .commitAllowingStateLoss();

输入动画

代码语言:javascript
运行
复制
<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" />

离开动画

代码语言:javascript
运行
复制
<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" />
EN

回答 3

Stack Overflow用户

发布于 2018-03-16 16:50:13

我刚刚遇到了同样的问题。支持库27.1.0似乎在使用alpha属性的动画过渡方面有问题。

我的印象是,转换引擎没有正确地实现“填充后”,因此片段alpha在片段被移除之前迅速反弹到1。这会导致闪烁效果,其中替换的片段短暂可见,然后消失。

我解决了切换到动画制作过渡的问题。

即替换了my /res/anim/fade_in.xml

代码语言:javascript
运行
复制
<?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"
    />

使用类似的/res/animator/fade_in.xml

代码语言:javascript
运行
复制
<?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"
    />

我对fade_out转换也做了同样的事情。

票数 17
EN

Stack Overflow用户

发布于 2018-04-07 04:00:32

闪烁效果已在最新的支持库版本27.1.1中修复。(参见issue 74051124)

票数 5
EN

Stack Overflow用户

发布于 2018-03-13 17:35:18

在将支持库从27.0.2升级到27.1.0之后,我遇到了完全相同的问题。碎片不是平滑地褪色,而是闪烁几次。

似乎所有的动画师都像预期的那样工作,除了alpha动画师。

但是,我找到了解决此错误的方法:如果禁用enter动画,过渡仍然会淡入淡出。它不会像以前那样褪色,但在我看来,它看起来很好(甚至更好)。

新的enter动画(我已将其命名为nothing.xml)是:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<set/>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49180295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档