android object animator transition 和 alpahn

标签 android animation

我正在尝试为 fragment 过渡设置动画,我成功地为过渡设置了动画,但同时我还需要使用 alpha 进行淡出或淡入。 这是我的代码:

private void loadFragment(Fragment frag, String tag) {
    FragmentManager fragmentManager = getFragmentManager();

    FragmentTransaction fragmentTransaction = 
    fragmentManager.beginTransaction();

   fragmentTransaction.setCustomAnimations(R.animator.enter_from_left, 
   R.animator.exit_from_right, R.animator.enter_from_right, 
   R.animator.exit_from_left);
    fragmentTransaction.replace(R.id.frameLayout, frag, tag);
    fragmentTransaction.addToBackStack(tag);
    fragmentTransaction.commit();
}

这是动画师:

这是从左边开始的输入:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<objectAnimator
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="450"
    android:propertyName="x"
    android:valueFrom="1000"
    android:valueTo="0"
    android:valueType="floatType"/>
</set>

这是右边的输入

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
 android:shareInterpolator="false">
  <objectAnimator
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="450"
    android:propertyName="x"
    android:valueFrom="1000"
    android:valueTo="0"
    android:valueType="floatType"/>
</set>

这是左边的导出:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
 android:shareInterpolator="false">
  <objectAnimator
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="450"
        android:propertyName="x"
        android:valueFrom="0"
        android:valueTo="1000"
        android:valueType="floatType"/>
</set>

这是右边的导出:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
 android:shareInterpolator="false">
  <objectAnimator
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="450"
    android:propertyName="x"
    android:valueFrom="0"
    android:valueTo="-1000"
    android:valueType="floatType"/>
</set>

最佳答案

您可以在 xml 中定义的标签内指定多个动画对象,还可以指定它们一起播放或顺序播放的排序天气。

这里是你如何改变你的xml来实现你想要的

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
android:ordering="together">

<objectAnimator
    android:duration="450"
    android:propertyName="x"
    android:valueFrom="1000"
    android:valueTo="0"
    android:valueType="floatType"/>

 <objectAnimator
    android:duration="450"
    android:valueFrom="0f"
    android:propertyName="alpha"
    android:valueTo="1f" />

关于android object animator transition 和 alpahn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45287667/

相关文章:

javascript - 目录卡片。悬停时翻转,当用户发现时取消翻转

ios - usdz 文件的 SCNSceneSource 标识符为空

java - Android:ImageView只应在一种条件下显示图像,但始终显示它

android - Google Glass : Camera. open() 总是导致运行时异常

java - 按下背面按钮我想从适配器转到上一个 Activity

Javascript 动画每页只加载一次

javascript - `complete` 参数的目的是什么?

swift - 如何在 Swift 4 中同步执行多个自定义动画函数

java - Android 单元测试类的“private static final”成员将值更改为 null

java - Android - 如何将动画 GIF 文件上传到 Parse Server