Android編程之自定義AlertDialog(退出提示框)用法實例
本文實例講述了Android編程自定義AlertDialog(退出提示框)用法,分享給大家供大家參考,具體如下:
有時候我們需要在游戲或應(yīng)用中用一些符合我們樣式的提示框(AlertDialog)
以下是我在開發(fā)一個小游戲中總結(jié)出來的.希望對大家有用.
先上效果圖:
下面是用到的背景圖或按鈕的圖片
經(jīng)過查找資料和參考了一下例子后才知道,要實現(xiàn)這種效果很簡單.就是在設(shè)置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(); // *** 主要就是在這里實現(xiàn)這種效果的. // 設(shè)置窗口的內(nèi)容頁面,shrew_exit_dialog.xml文件中定義view內(nèi)容 window.setContentView(R.layout.shrew_exit_dialog); // 為確認(rèn)按鈕添加事件,執(zhí)行退出應(yīng)用操作 ImageButton ok = (ImageButton) window.findViewById(R.id.btn_ok); ok.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { exitApp(); // 退出應(yīng)用... } }); // 關(guān)閉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" /> <!-- 確認(rèn)按鈕 --> <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>
就這樣經(jīng)過了以上幾步,就可以實現(xiàn)自定義AlertDialog的效果了. 用同樣的思路可以實現(xiàn)其它更復(fù)雜的效果.
希望本文所述對大家Android程序設(shè)計有所幫助。
相關(guān)文章
Android RadioGroup和RadioButton控件簡單用法示例
這篇文章主要介紹了Android RadioGroup和RadioButton控件簡單用法,結(jié)合實例形式分析了Android單選按鈕控件的基本定義、布局與功能實現(xiàn)技巧,需要的朋友可以參考下2016-07-07Android基于反射技術(shù)實現(xiàn)的加減乘除運算示例
這篇文章主要介紹了Android基于反射技術(shù)實現(xiàn)的加減乘除運算,較為詳細(xì)的描述了反射技術(shù)的原理,并結(jié)合完整實例形式分析了Android基于反射技術(shù)實現(xiàn)加減乘除四則運算的相關(guān)操作步驟與實現(xiàn)技巧,需要的朋友可以參考下2016-10-10百度地圖API提示230 錯誤app scode碼校驗失敗的解決辦法
筆者近2天在 Android Studio上玩了一下百度地圖,碰到了常見的"230錯誤 APP Scode校驗失敗",下面我來介紹一下具體的解決辦法2016-01-01使用Compose制作抖音快手視頻進度條Loading動畫效果
這篇文章主要為大家介紹了使用Compose制作抖音快手視頻進度條Loading動畫效果,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08