2012-02-06 6 views
6

UI 요소의 애니메이션을 적용하려고합니다. editText와 Button을 가운데에서 화면 상단으로 옮기고 그 아래에서 http 호출 결과를 테이블에 표시하고 싶습니다. 만약 누군가가 올바른 방향으로 나를 가리킬 수 있다면 좋을 것입니다.이 시점에서 나는 이것을 위해 Java 나 XML을 사용해야 만합니다.Android UI 요소 애니메이션

미리 감사드립니다. 이를 달성하기

답변

8

사용 번역 프레임 워크는이 같은 작동합니다

mAnimation = new TranslateAnimation(0, 0, 0, 599); 
    mAnimation.setDuration(10000); 
    mAnimation.setFillAfter(true); 
    mAnimation.setRepeatCount(-1); 
    mAnimation.setRepeatMode(Animation.REVERSE); 
    view.setAnimation(mAnimation); 
여기

보려면 다음과 같이

TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta) 

그래서 당신은, y 축 방향으로 볼을 이동하는 코드를 작성해야 텍스트 뷰, 이미지 뷰 등이 될 수 있습니다.

+0

고마워요, 제가 정확히 찾고 있었던 것이 었습니다. – Meatje

1

허용 된 대답은 아래 코드에서 오류를 발생 시켰습니다 아래 코드는 수락 된 답변과 거의 같습니다 & wo 오류를 일으키지 않고 rked하여 화면에서 객체를 밀어냅니다. 나는 또한 '떨어져 나가기'위해 keyPad에 묶인 몸짓을 필요로하고, TranslateAnimation에서 ObjectAnimator (아래 코드의 두 번째 블록)로 전환했다.

final LinearLayout keyPad = (LinearLayout)findViewById(R.id.keyPad); 

moveKeyPadUp(keyPad); 

private void moveKeyPadUp(LinearLayout keyPad){ 
     Animation animation = new TranslateAnimation(0,0,0,-500); 
     animation.setDuration(1000); 
     animation.setFillAfter(true); 
     keyPad.startAnimation(animation); 
} 

private void moveKeyPadUpdated(LinearLayout keyPad){ 
     ObjectAnimator mover = ObjectAnimator.ofFloat(keyPad,"translationY",0,-500); 
     mover.setDuration(300); 
     mover.start(); 
}