2016-07-18 3 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/-/ 안드로이드 /보기/애니메이션/변환 : 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 대신 알파 값을 가져올 수 있습니다. 변환을 사용

목적 :

는 애니메이션시에 하나 개의 포인트에서 적용되는 변환을 정의한다.


단계 : https://sourcegraph.com/android.googlesource.com/platform/frameworks/base/-/blob/core/java/android/view/animation/Transformation.java 같이

  1. 새로운 Transformation.java 클래스를 만듭니다.

    Animation fadeOut = new AlphaAnimation(1, 0); 
    fadeOut.setInterpolator(new DecelerateInterpolator()); 
    fadeOut.setDuration(350); 
    
  2. 은 (밀리 초) 뷰 계층의 드로잉이 시작되는 시간을 가져 오기 :

    코드를 사용

    private Transformation myTransformation; 
    mTransformation = new Transformation(); 
    
  3. :

  4. Transformation 객체를 초기화

    final long time = myView.getDrawingTime(); 
    
  5. 지정된 시점에 적용되도록 변형을 가져옵니다. 마지막으로, 애니메이션 중에 실제 알파 값을 구하십시오

    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