2011-11-02 5 views
5

나는 아래에있는 툴바와 그 위의 WebView를 가지고 나머지 높이를 채 웁니다. 이제 툴바를 숨기려면 아래로 슬라이드하고, 애니메이션을 적용하는 동안 웹 뷰 높이를 확장해야합니다. 나는 TranslateAnimation을 사용해 보았지만 불행히도 도구 모음의 실제 위치를 조정하지 못했고 내용 만 이동되었습니다.안드로이드 아래로 애니메이션

<translate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromXDelta="0%" 
    android:toXDelta="0%" 
    android:fromYDelta="0%" 
    android:toYDelta="100%" 
    android:duration="700" 
    android:fillAfter="true" /> 

그리고 실제 코드 : 여기에 내가 시도 무엇

final View v = findViewById(R.id.browseToolbar); 
Animation animation = AnimationUtils.loadAnimation(someContext, R.anim.toolbar_hide); 
v.startAnimation(animation); 

내가 어떻게 할 수 있습니까?

답변

1

실제 리사이즈 애니메이션을 수행하기위한 코드를 작성했습니다. 보세요 : 위에서 언급 한 바와 같이

http://www.touchlab.co/blog/resize-animation/

또한 일반 애니메이션 클래스는 자신의 부모 뷰에서 무엇에 영향을, 내가

https://docs.google.com/present/view?id=djqv5kb_187c62jvbf7

기본적으로 안드로이드 애니메이션에서했던 프레젠테이션 봐. 그것을 이해하는 열쇠는 "진짜"가 아니라는 것입니다. Android 애니메이션을 신기루라고 생각하십시오. 내가 만든 예제 앱을 실행하면 스케일 애니메이션을 만들고 버튼을 더 작게 만든다고 말하고, 바깥 쪽을 클릭하면 버튼이 USED가되고 버튼 클릭으로 등록됩니다. Android 애니메이션은 실제 경계 및 크기에 실제로 영향을 미치지 않습니다.

내 블로그 게시물의 코드는 본질적으로 ViewGroup.OnHierarchyChangeListener를 구현합니다. 물건이 계층 구조에 추가되거나 제거되면 컨테이너는 실제 크기 조정을 애니메이션화합니다.

+4

http://touchlab.co/blog/resize-animation/ link not working – NetStarter

0

안드로이드 애니메이션을 사용하면보기의 픽셀 만 이동됩니다. 실제로보기를 이동하려면 애니메이션 리스너를 애니메이션 객체에 추가하고 onAnimationEnd 메소드를 재정의해야합니다. 이 방법에서는 프로그램 적으로 뷰를 이동해야합니다.

AnimationListener animListener = new AnimationListener() { 
    @Override 
    public void onAnimationStart(Animation arg0) {}    
    @Override 
    public void onAnimationRepeat(Animation arg0) {}     
    @Override 
    public void onAnimationEnd(Animation arg0) { 
     Move the view here   
    } 
}; 

animation.setAnimationListener(animListener); 
관련 문제