zoukankan      html  css  js  c++  java
  • Fragment的切换动画实现

    private void addFragment() {
        if (null == mFragmentManager) {
            mFragmentManager = getFragmentManager();
        }
     
        mTextFragmentOne = new MyFragmentOne();
        FragmentTransaction fragmentTransaction = mFragmentManager
                .beginTransaction();
     
        // 标准动画
        
    // fragmentTransaction
        
    // .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
        
    // fragmentTransaction
        
    // .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
     
        
    // fragmentTransaction
        
    // .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE);
     
        
    // 自定义动画
     
        
    // API LEVEL 11
        
    // fragmentTransaction.setCustomAnimations(
        
    // R.animator.fragment_slide_left_enter,
        
    // R.animator.fragment_slide_right_exit);
     
        
    // API LEVEL 13
        fragmentTransaction.setCustomAnimations(
         R.animator.fragment_left_enter,
         R.animator.fragment_left_exit,
         R.animator.fragment_pop_left_enter,
         R.animator.fragment_pop_left_exit);
     
        fragmentTransaction.add(R.id.container, mTextFragmentOne);
     
        // 加入到BackStack中
        fragmentTransaction.addToBackStack(null);
        fragmentTransaction.commit();
     
    }
     
    private void removeFragment() {
        if (null == mFragmentManager) {
            mFragmentManager = getFragmentManager();
        }
        mFragmentManager.popBackStack();
    }
    View Code

    animator的文件定义

    fragment_left_enter.xml

    View Code 

       fragment_left_exit.xml

    <?xml version="1.0" encoding="utf-8"?>
        <objectAnimator
            android:interpolator="@android:interpolator/decelerate_quint"
            android:valueFrom="0dp" android:valueTo="100dp"
            android:valueType="floatType"
            android:propertyName="translationX"
            android:duration="@android:integer/config_mediumAnimTime" />
        <objectAnimator
            android:interpolator="@android:interpolator/decelerate_quint"
            android:valueFrom="1.0" android:valueTo="0.0"
            android:valueType="floatType"
            android:propertyName="alpha"
            android:duration="@android:integer/config_mediumAnimTime" />
    </set>
    fragment_pop_left_enter.xml
    <?xml version="1.0" encoding="utf-8"?>
        <objectAnimator
            android:interpolator="@android:interpolator/decelerate_quint"
            android:valueFrom="100dp" android:valueTo="0dp"
            android:valueType="floatType"
            android:propertyName="translationX"
            android:duration="@android:integer/config_mediumAnimTime" />
        <objectAnimator
            android:interpolator="@android:interpolator/decelerate_quint"
            android:valueFrom="0.0" android:valueTo="1.0"
            android:valueType="floatType"
            android:propertyName="alpha"
            android:duration="@android:integer/config_mediumAnimTime" />
    </set>

     fragment_pop_left_exit.xml

    <?xml version="1.0" encoding="utf-8"?>
        <objectAnimator
            android:interpolator="@android:interpolator/decelerate_quint"
            android:valueFrom="0dp" android:valueTo="-100dp"
            android:valueType="floatType"
            android:propertyName="translationX"
            android:duration="@android:integer/config_mediumAnimTime" />
        <objectAnimator
            android:interpolator="@android:interpolator/decelerate_quint"
            android:valueFrom="1.0" android:valueTo="0.0"
            android:valueType="floatType"
            android:propertyName="alpha"
            android:duration="@android:integer/config_mediumAnimTime" />
    </set>
  • 相关阅读:
    一个优秀测试的自我修养
    二.自动化接口测试---用例设计思路、模版
    关于文件读写的一些笔记
    模块导入---如何在一个文件中导入其它模块,来调用它的变量、函数等,以节省代码量
    变量以及作用域----(局部变量、全部变量...)
    python连接mysql数据库
    python修改txt文件内容
    使用PyQt4写界面后台程序方法总结
    unresolved import 解决办法
    怎样使用pyinstaller打包
  • 原文地址:https://www.cnblogs.com/wsfjlagr/p/4234110.html
Copyright © 2011-2022 走看看