2011-06-13 3 views
9

아래 레이아웃과 비슷한 레이아웃이 있습니다. 현재 뒤로 버튼을 누르면 빨간색 선형 레이아웃의 가시성이 사라짐으로 설정됩니다. 그러나 나는 페이지의 "슬라이드"를 대신 사용하고 싶습니다. 어떻게하면 좋을까요?Android : 레이아웃이 화면에서 "슬라이드"됩니까?

my layout

+1

왜 이런 목적으로 애니메이션을 사용해 보지 않으시겠습니까? 마찬가지로, 슬라이드에 대해 정의 된 다른 방법이나 방법이있을 수 있다고 생각하지 않습니다. – Nikki

+1

어떻게 이것을 사용하여 애니메이션을 만들 수 있습니까? 제발 좀 더 자세히 설명해 주시겠습니까? – Skizit

+0

당신은 하나의 레이아웃을 slideoff하고 다른 레이아웃을 볼 수 있어야합니다 ....... 나는 바로 이해합니다 – Nikki

답변

35

애니메이션을 사용해야합니다.

최고

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate android:fromYDelta="-100%" android:toYDelta="0%" android:duration="300"/> 
</set> 

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate android:fromYDelta="0%" android:toYDelta="-100%" android:duration="600"/> 
</set> 
다음

활동이처럼에보기를 얻을 애니메이션을 적용 최고

아웃 : 여기 인/아웃 애니메이션에서 최고입니다 이된다 애니메이션을 입력하십시오.

mSlideInTop = AnimationUtils.loadAnimation(this, R.anim.slide_in_top); 
     mSlideOutTop = AnimationUtils.loadAnimation(this, R.anim.slide_out_top); 

이 코드를 호출 다음

header.startAnimation(mSlideOutTop); 
     header.setVisibility(View.INVISIBLE); 

헤더는 내 의견을 감싸는있는 LinearLayout이다. 슬라이드를 삽입하려는 경우 똑같은 작업을 수행하십시오. 애니메이션에 슬라이드를 추가하고보기를 표시하십시오.

+0

mSlideInTop은 어디에 정의되어 있습니까? 그리고 그것을 onCreate() 메서드 아래에 두어야합니까? 그리고 어디서 XML 파일을 삽입해야하는지 정의해야합니까? – Si8

+0

귀하의 필요에 따라 다릅니다. 일반적으로 실제로 애니메이션 객체를 만들기 전에 애니메이션 객체를 만듭니다.하지만 onCreate 내부의 액티비티에서 초기화 된 필드일지도 모릅니다. XML은 res/anim 폴더 아래에 있습니다. – DArkO

+0

내 응용 프로그램에서는 작동하지 않습니다. 상단의보기가 사라지고 애니메이션이 발생하지 않습니다. 내가 한 일은 : 1 : titleHideAnimation = AnimationUtils.loadAnimation (this, R.anim.anim_top_out_slow); 2 : titleLayout.startAnimation (titleHideAnimation); 3 : titleLayout.setVisibility (View.GONE); – tainy

관련 문제