2011-06-13 225 views
9

我有一個很像下面的佈局。目前,當後退按鈕被按下時,紅色線性佈局的可見性被設置爲消失。但是,我希望它能夠從頁面上「滑」出來。我將如何做到這一點?Android:佈局「滑動」屏幕?

my layout

+1

你爲什麼不嘗試使用動畫來達到這個目的。因爲,我不認爲可以有任何其他的方式或方法定義滑脫 – Nikki 2011-06-13 11:31:15

+1

我將如何使用動畫來實現這一目標?你能否詳細說明一下? – Skizit 2011-06-13 11:33:18

+0

你想要一個佈局滑動和另一個佈局應該可見.......我是否理解 – Nikki 2011-06-13 11:35:56

回答

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 2013-07-25 17:01:30

+0

這取決於你的需求。您通常在實際啓動之前創建動畫對象,但我想它可能是在onCreate內的活動中初始化的字段。該XML位於res/anim文件夾下。 – DArkO 2013-07-25 21:02:05

+0

它不適用於我的應用程序。在頂部的看法只是消失了,沒有動畫發生。我做的是:1:titleHideAnimation = AnimationUtils.loadAnimation(this,R.anim.anim_top_out_slow); 2:titleLayout.startAnimation(titleHideAnimation); 3:titleLayout.setVisibility(View.GONE); – tainy 2016-09-29 10:27:43