【问题标题】:Android material design animationAndroid材料设计动画
【发布时间】:2015-03-06 13:33:45
【问题描述】:

我正在寻找一个动画,将带有圆形背景的TextView 转换为矩形标题。现在我只是使用内置动画:

String transitionName = getString(R.string.my_transition);
ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this,
                myTextView, transitionName);
startActivity(detailIntent, options.toBundle());

这可行,但动画不是那么流畅,当我转换回矩形标题时,它会转到一个代表 textview 的正方形,然后创建圆形背景。我想使用 Material Design 网站上的this animation。我不确定此代码是否已由 Google 或其他来源提供。如果没有,我以前从未制作过自己的动画,那么创建这个的好教程是什么?任何帮助,将不胜感激。

【问题讨论】:

    标签: android android-animation material-design


    【解决方案1】:

    看看这些:

    1. http://www.codeproject.com/Articles/825739/Article-Beginners-Guide-to-Android-Animation-Gr

    2. Morph a retangler view into a circle

    这些是 android 中可用的插值器:

    AccelerateDecelerateInterpolator
    
    @android:anim/accelerate_decelerate_interpolator
    
    AccelerateInterpolator
    
    @android:anim/accelerate_interpolator
    
    AnticipateInterpolator
    
    @android:anim/anticipate_interpolator
    
    AnticipateOvershootInterpolator
    
    @android:anim/anticipate_overshoot_interpolator
    
    BounceInterpolator
    
    @android:anim/bounce_interpolator
    
    CycleInterpolator
    
    @android:anim/cycle_interpolator
    
    DecelerateInterpolator
    
    @android:anim/decelerate_interpolator
    
    LinearInterpolator
    
    @android:anim/linear_interpolator
    
    OvershootInterpolator
    
    @android:anim/overshoot_interpolator
    

    这是您可以分别使用资源/动画器或资源/动画创建动画师或仅动画师的方法。

    <set
      android:ordering=["together" | "sequentially"]>
    
        <objectAnimator
            android:propertyName="string"
            android:duration="int"
            android:valueFrom="float | int | color"
            android:valueTo="float | int | color"
            android:startOffset="int"
            android:repeatCount="int"
            android:repeatMode=["repeat" | "reverse"]
            android:valueType=["intType" | "floatType"]/>
    
        <animator
            android:duration="int"
            android:valueFrom="float | int | color"
            android:valueTo="float | int | color"
            android:startOffset="int"
            android:repeatCount="int"
            android:repeatMode=["repeat" | "reverse"]
            android:valueType=["intType" | "floatType"]/>
    
        <set>
            ...
        </set>
    </set>
    

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 2015-07-15
      • 1970-01-01
      • 2015-07-28
      • 1970-01-01
      • 2015-12-07
      • 1970-01-01
      • 2015-09-05
      • 2017-10-06
      相关资源
      最近更新 更多