2014-01-21 101 views
6

我試圖爲登錄屏幕實現簡單的動畫效果。使按鈕點擊後出現動畫Android版

這裏的情景,

1:一些文字,登錄按鈕會默認顯示。

2:點擊登錄按鈕後,一個新的框架佈局將從下到上出現。這種佈局將提示用戶輸入他們的用戶名和密碼。

我可以製作一個動畫,將從一個父母疊加到另一個。在這種情況下,我正在尋找一個不會離開活動就會出現的動畫。

+0

你有[LayoutAnimationController(http://developer.android.com/reference/android/view/animation/LayoutAnimationController.html)試圖用? – codeMagic

+0

NineOldAndroids? – MarkySmarky

+0

如果動畫非常簡單,可以使用Android的傳統翻譯動畫,並在任意數量的視圖上啓動,以使它們平行運行。 – Srikanth

回答

17

首先將invisible設置爲您的佈局。
將動畫設置爲slideUp和slideDown。

final LinearLayout layout = (LinearLayout)findViewById(R.id.yourlayout); 

    button.setOnClickListener(new OnClickListener(){ 

     @Override 
     public void onClick(View arg0) { 
      Animation slideUp = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_up); 
      Animation slideDown = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_down); 

      if(layout.getVisibility()==View.INVISIBLE){ 

       layout.startAnimation(slideUp); 
       layout.setVisibility(View.VISIBLE); 
     } 
    }); 

slide_up.xml(在res/anim目錄下創建)

<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate android:fromXDelta="0" android:fromYDelta="500" android:duration="500"/> 
</set> 

slide_down.xml

<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate android:fromXDelta="0" android:fromYDelta="0" android:toYDelta="500" android:duration="500"/> 
</set> 

注: 您應該編輯slide_down.xmlslide_up.xml中的值,直到獲得滿意的結果。
例如:將android:fromYDelta="500"更改爲android:fromYDelta="700"

+0

正是我想要的!謝謝 ! –