2013-07-23 25 views
0

我是android新手。我想在android中使用翻譯動畫。我希望紅色的圓形圖像來自佈局的中心。它來了 。但我希望紅色的圓形圖像從顏色爲綠色的中心圖像返回。提前致謝。 enter image description here用android編輯動畫

+0

如何顯示的對話框?你嘗試過Handler.postDelayed()嗎? – sandrstar

+0

不,我不知道Handler.postDelayed() 你可以提供我這個問題的代碼? 在此先感謝 –

+0

@sandarstar現在我解決我的問題,謝謝:) –

回答

2
final AlertDialog.Builder dialog = new AlertDialog.Builder(this) 
.setTitle("Auto-closing Dialog") 
.setMessage("After 10 second, this dialog will be closed"); 

dialog.setPositiveButton("Confirm", new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, int whichButton) { 
     // tasks to do when Confirm clicked 
    } 
});  
final AlertDialog alert = dialog.create(); 
alert.show(); 

// Hide after 10 seconds 
final Handler handler = new Handler(); 
final Runnable runnable = new Runnable() { 
    @Override 
    public void run() { 
     if (alert.isShowing()) { 
      alert.dismiss(); 
     } 
    } 
}; 

alert.setOnDismissListener(new DialogInterface.OnDismissListener() { 
    @Override 
    public void onDismiss(DialogInterface dialog) { 
     handler.removeCallbacks(runnable); 
    } 
}); 

handler.postDelayed(runnable, 10000); 
+0

爲什麼你會發布兩個答案?只是好奇而已。 ;-) –

+0

@SiddharthLele不同的方法。 – Bishan

+0

嗯..好的。 ;-)我不抱怨。但是我只是覺得好奇,因爲兩者都可以在一起。主要是這些。 –

2

我會推薦你​​Handler和它的postDelayed方法。因此,代碼應該是這樣的

Handler handler = new Handler(); 
handler.postDelayed(new Runnable() { 

    public void run() { 

     if(dialog != null && dialog.isShowing()) 
     dialog.dissmiss(); 
    } 
}, 10000); 

其中處理程序應該在UI線程上創建。

1

在活動onCreate方法創建一個處理程序,地方如下:

handler = new Handler(); 

現在,顯示對話框。

後來使用此處理10秒後駁回對話框如下:

handler.postDelayed(new Runnable() { 

    public void run() { 
     if (dialog.isShowing())   
      dialog.dismiss(); // dismiss dialog 

    } 
}, 10000);