ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2012-7-17
    과거...../개발일지 2012. 7. 17. 19:46

    -ObjectAnimator삽질 결과-


    target의 상태는 gone으로 하지말고 invisible에서 시작할 것(gone에서 translate할 시 좌표값이 틀어 질 수 있음)




    <set >

    <objectAnimator

       xmlns:android="http://schemas.android.com/apk/res/android"    

       android:valueFrom ="-1123"

       android:valueTo="6"

       android:propertyName="x"

            android:duration="700"

            android:startOffset="195"

       />

    <objectAnimator

       xmlns:android="http://schemas.android.com/apk/res/android"    

       android:valueFrom ="315"

       android:valueTo="114"

       android:propertyName="y"

            android:duration="700"

            android:startOffset="195"

       />

    <objectAnimator

       xmlns:android="http://schemas.android.com/apk/res/android"    

           android:valueFrom="-10"

           android:valueTo="-6"

           android:pivotX="0%"

           android:pivotY="100%"

           android:propertyName="rotation"

            android:duration="700"

            android:startOffset="195"

            />

    </set>


     위와 같이 여러개 선언 시 아래와 같이 하나 하나 start를 달아주어야 함

    for(Animator animator:animatorSet.getChildAnimations()){

                if(animator == animatorSet.getChildAnimations().get(0)){

                    //listener가 달린 경우만 적용하기 위해서 nullpoint 체크

                    try{

                        final AnimatorListener listener = (AnimatorListener) animatorSet.getListeners().get(0);

                        animator.addListener(new AnimatorListener() {

                            

                            @Override

                            public void onAnimationStart(Animator arg0) {

                                

                                listener.onAnimationStart(arg0);

                            }

                            

                            @Override

                            public void onAnimationRepeat(Animator arg0) {

                                listener.onAnimationRepeat(arg0);

                            }

                            

                            @Override

                            public void onAnimationEnd(Animator arg0) {

                                listener.onAnimationEnd(arg0);

                            }

                            

                            @Override

                            public void onAnimationCancel(Animator arg0) {

                                listener.onAnimationCancel(arg0);

                            }

                        });

                    }catch(NullPointerException e){

                    }

                }

                animator.start();

            }



    *ObjectAnimator 사용시 rotation관련 pivot설정은 view에 layout에서 정의하고 사용하여야한다

Designed by Tistory.