Android使用設置AlertDialog(退出提示框)

轉自:http://www.cnblogs.com/511mr/archive/2011/10/21/2220253.html

先上效果圖:


下面是用到的背景圖或按鈕的圖片

經過查找資料和參考了一下例子後才知道,要實現這種效果很簡單.就是在設置alertDialog的contentView.

以下的代碼是寫在Activity下的,代碼如下:

public boolean onKeyDown(int keyCode, KeyEvent event) {
 // 如果是返回鍵,直接返回到桌面
 if(keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_HOME){
           showExitGameAlert();
 }
 
 return super.onKeyDown(keyCode, event);
}
private void showExitGameAlert() {
 final AlertDialog dlg = new AlertDialog.Builder(this).create();
 dlg.show();
 Window window = dlg.getWindow();
        // *** 主要就是在這裏實現這種效果的.
        // 設置窗口的內容頁面,shrew_exit_dialog.xml文件中定義view內容
 window.setContentView(R.layout.shrew_exit_dialog);
        // 爲確認按鈕添加事件,執行退出應用操作
 ImageButton ok = (ImageButton) window.findViewById(R.id.btn_ok);
 ok.setOnClickListener(new View.OnClickListener() {
  public void onClick(View v) {
   exitApp(); // 退出應用...
  }
 });
 
        // 關閉alert對話框架
        ImageButton cancel = (ImageButton) window.findViewById(R.id.btn_cancel);
        cancel.setOnClickListener(new View.OnClickListener() {
   public void onClick(View v) {
    dlg.cancel();
  }
   });
}以下的是layout文件,定義了對話框中的背景與按鈕.點擊事件在Activity中添加.

文件名爲 : shrew_exit_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
 xmlns:Android="http://schemas.android.com/apk/res/android"
 android:layout_height="wrap_content" 
 android:layout_width="wrap_content">
 
 <!-- 退出遊戲的背景圖 -->
 <ImageView android:id="@+id/exitGameBackground"
  android:layout_centerInParent="true" 
  android:layout_height="wrap_content"
  android:layout_width="wrap_content" 
  android:src="@drawable/bg_exit_game" />
 
 <!-- 確認按鈕 -->
 <ImageButton android:layout_alignBottom="@+id/exitGameBackground"
  android:layout_alignLeft="@+id/exitGameBackground"
  android:layout_marginBottom="30dp" 
  android:layout_marginLeft="35dp"
  android:id="@+id/btn_ok" 
  android:layout_height="wrap_content"
  android:layout_width="wrap_content" 
  android:background="@drawable/btn_ok" />
 
 <!-- 取消按鈕 -->
 <ImageButton android:layout_alignBottom="@+id/exitGameBackground"
  android:layout_alignRight="@+id/exitGameBackground"
  android:layout_marginBottom="30dp" 
  android:layout_marginRight="35dp"
  android:id="@+id/btn_cancel" 
  android:layout_height="wrap_content"
  android:layout_width="wrap_content" 
  android:background="@drawable/btn_cancel" />
</RelativeLayout>就這樣經過了以上幾步,就可以實現自定義AlertDialog的效果了. 用同樣的思路可以實現其它更復雜的效果.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章