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>
  • 相关阅读:
    VMWare Server 2.0 安装虚机机网卡驱动找不到
    OutLook The profile name you entered already exists.Enter a different profile name.
    GreyBox基本应用
    Java HashMap工作原理及实现
    C# winform 自定义皮肤制作
    C# Winform 右下角弹出框
    C# winform 最小化到电脑右下角
    C# Winform 的简易聊天程序
    C# winform QQ表情弹出框的制作
    C# 网络编程 TCP编程
  • 原文地址:https://www.cnblogs.com/wsfjlagr/p/4234110.html
Copyright © 2011-2022 走看看