2016-07-18 1 views
3

私はこのようなアニメーションを持っている:私はしようとしていますアンドロイド - getAlpha()アニメーションビューから

Animation fadeOut = new AlphaAnimation(1, 0); 
fadeOut.setInterpolator(new DecelerateInterpolator()); 
fadeOut.setDuration(350); 
myView.startAnimation(fadeOut); 

のようなアニメーションをdurringそのアルファを得ることです:

System.out.println(myView.getAlpha()); 

しかし、それは常にアニメーション全体で「1.0」を返します。アニメーション処理中に実際のアルファ値myViewを取得するにはどうすればよいですか?

+1

もあなたから直接アルファを取得するために 'Transformation'クラスの使用を参照してくださいあなたの 'View'の代わりに' AlphaAnimation' 'fadeOut.getTransformation(time、myTransformation);' 'myTransformation.getAlpha();':https://sourcegraph.com/android.googlesource.com/platform/frameworks/base/-/info/JavaArtifact/AndroidSDK/-/ android/view/animation /変換:type/getAlpha –

+0

ありがとうございますが、getDrawingTime()は何ですか?コンパイラはこのメソッドを解決できません。 – BlackJack

+1

ここにあるように、新しいクラス 'Transformation.java'を追加してみてください:https://sourcegraph.com/android.googlesource.com/platform/frameworks/base/-blob/core/java/android/view/animation/Transformation .javaそれからちょうど最初の例に従ってください:https://sourcegraph.com/android.googlesource.com/platform/frameworks/base/-/info/JavaArtifact/AndroidSDK/-/android/view/animation/Transformation:type/ getAlpha –

答えて

5

AlphaAnimationTransformationを使用すると、オブジェクトから直接アルファ値を取得することができます。View。変換を使用する

目的:

アニメーションの時間に一点に適用される変換を定義します。


ステップ:

  1. https://sourcegraph.com/android.googlesource.com/platform/frameworks/base/-/blob/core/java/android/view/animation/Transformation.javaに示すように、新しいTransformation.javaクラスを作成します。

    :ビュー階層の描画が(ミリ秒単位)を開始した時刻を取得します

    Animation fadeOut = new AlphaAnimation(1, 0); 
    fadeOut.setInterpolator(new DecelerateInterpolator()); 
    fadeOut.setDuration(350); 
    
  2. :あなたのコードを使用して

    private Transformation myTransformation; 
    mTransformation = new Transformation(); 
    
  3. Transformationオブジェクトを初期化します​​

  4. 特定の時点で適用する変換を取得します。最後に、アニメーションの中に実際のアルファ値を取得します。

    fadeOut.getTransformation(time, myTransformation); 
    final float myAlphaValue = myTransformation.getAlpha(); 
    

資源https://sourcegraph.com/android.googlesource.com/platform/frameworks/base/-/blob/core/java/android/widget/ProgressBar.java#L1699 https://developer.android.com/reference/android/view/animation/Animation.html https://developer.android.com/reference/android/view/animation/Transformation.html

関連する問題