2011-07-16 83 views
4

我希望我的活動視圖在點擊按鈕時淡出。我將動畫代碼放在按鈕的OnClickListener()內,但淡出不會發生。所以任何想法如何設法淡出按鈕被點擊時當前活動的視圖?在此先感謝.....淡出當前活動的視圖

其實,我的目的是,在我的應用程序中,隨着活動的開始,活動的視圖將淡入,活動結束時,視圖將淡出,然後新建活動的觀點將在淡出下面,即時給予我的代碼,請需要幫助找出存在問題.....

public class First extends Activity { 

Animation slide; 
View view; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    view = (View) findViewById(android.R.id.content); 

    slide = AnimationUtils.loadAnimation(this, R.anim.fade_in); 
    view.startAnimation(slide); 

    Button btn = (Button) findViewById(R.id.retour); 
    btn.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

       Intent intent = new Intent(v.getContext(),Second.class); 
       slide = AnimationUtils.loadAnimation(First.this, R.anim.fade_out); 
       view.startAnimation(slide); 
       Test.group.replaceContentView("Second", intent, 0); 

      } 
    }); 

} 

} 
+0

請指定語言和框架(如果適用)。 – titaniumdecoy

+0

我正在開發一個android應用程序,我必須使用這個淡出動畫。我使用Eclipse作爲IDE。 – Junaid

+0

你有淡出的動畫文件嗎? – Nikhil

回答

8

在您的onCreate()方法中添加如下內容:

final Button button = (Button) findViewById(R.id.button); 
    button.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 

      final View l = findViewById(R.id.main); 

      Animation a = AnimationUtils.loadAnimation(
        YourActivity.this, android.R.anim.fade_out); 
      a.setDuration(200); 
      a.setAnimationListener(new AnimationListener() { 

       public void onAnimationEnd(Animation animation) { 
         // Do what ever you need, if not remove it. 
       } 

       public void onAnimationRepeat(Animation animation) { 
         // Do what ever you need, if not remove it. 
       } 

       public void onAnimationStart(Animation animation) { 
         // Do what ever you need, if not remove it. 
       } 

      }); 
      l.startAnimation(a); 
     } 
    }); 

而你的佈局xml應該以ID =「@ + id/main」的視圖開頭,並且包含一個帶有i d = 「@ + ID /按鈕」

例子:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:id="@+id/main" 
    android:drawingCacheQuality="high" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
..... 

    <Button 
     android:id="@+id/button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
        android:text="Fade out"> 
    </Button> 
+0

非常感謝,VSM ....它現在工作.....感謝您的努力....... !!! :) – Junaid

1

能不能請你下面的代碼。

Button btn = (Button) findViewById(R.id.retour); 
    btn.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      Intent intent = new Intent(v.getContext(),Second.class); 
      startActivity(intent); 
      overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out); 
     } 
    }); 

可能對您有所幫助。

+0

感謝尼克爲您的建議,我真的很感激.... :) – Junaid

相關問題