2014-11-20 3 views
1

하나의보기에서 TranslateAnimation을 화면에 밀어 넣고 싶다고합시다. 하나의 부모 레이아웃이 있고, 예를 들어 그 레이아웃 안에 버튼이있는 경우 모두 괜찮아 보입니다. 그러면 TranslateAnimation은 버튼에서 쉽게 정의되며 화면의 '외부'에서 항상 나타납니다.부모님이 아닌 화면에서보기 슬라이드 만들기

<LinearLayout1> 
    ... other layouts, views ... 
    <LinearLayout2> 
    <button></button> 
    </LinearLayout2> 
    ... other layouts, views ... 
</LinearLayout1> 

문제는 버튼을 LinearLayout1 안에 LinearLayout2 안에 있다는 것입니다 : 우리는이 같은 상황이있는 경우

문제입니다. 즉, TranslateAnimation을 LinearLayout2 내부에서만 사용할 수 있음을 의미합니다. LinearLayout2는 스크린의 한 부분만을 차지하고 버튼은 부모의 바깥 쪽에서 움직일 수 없기 때문에 스크린 외부에서 버튼을 만들 수 없습니다.

이 경우 화면 외부에서 애니메이션을 표시 할 수 있습니까? 감사!

+0

"... 버튼을 부모 외부에서 애니메이션으로 만들 수 없습니다." - 그거 확실해? 내 말은, 너 시도해 봤어? 나는 내가 전에 그 일을했다는 것을 확신하기 때문에 묻고있는 중이다. –

답변

0

부모가 아닌 외부에서 애니메이션을 볼 수 있습니다. 그러나 나는 조부모의 외부에서 움직이는 것에 관해 모른다. 나는 그것을 시도하지 않았지만, 뷰가 부모 내에서만 드로잉 될 것이라고 생각한다.

TranslateAnimation a = new TranslateAnimation(
    Animation.RELATIVE_TO_PARENT, 0, // from X 
    Animation.RELATIVE_TO_PARENT, 0, // to X 
    Animation.RELATIVE_TO_PARENT, 1f, // from Y 
    Animation.RELATIVE_TO_PARENT, 0); // to Y 
a.setDuration(1000); // milliseconds 
button.startAnimation(a); 

이 LinearLayout2이 화면 가장자리 근처 : 여기

는 부모 뷰의 바닥에서보기를 애니메이션에 대한 몇 가지 코드? 상위의 측면에서 버튼을 움직이게 할 수 있습니까? 화면 외부에서 오는 것처럼 보입니까?

관련 문제