Android開發(fā)之基于DialogFragment創(chuàng)建對(duì)話框的方法示例
本文實(shí)例講述了Android基于DialogFragment創(chuàng)建對(duì)話框的方法。分享給大家供大家參考,具體如下:
/** * 使用DialogFragment創(chuàng)建對(duì)話框 * @description: * @author ldm * @date 2016-5-12 下午2:00:01 */ public class FragmentAlertDialog extends Activity { private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_dialog); // 初始化Button及設(shè)置監(jiān)聽 button = (Button) findViewById(R.id.show); button.setOnClickListener(new OnClickListener() { public void onClick(View v) { // 彈出對(duì)話框 showDialog(); } }); } void showDialog() { // DialogFragment 創(chuàng)建對(duì)話框 DialogFragment newFragment = MyAlertDialogFragment .newInstance(R.string.alert_dialog_two_buttons_title); newFragment.show(getFragmentManager(), "dialog"); } public void doPositiveClick() { Log.i("FragmentAlertDialog", "Positive click!"); } public void doNegativeClick() { Log.i("FragmentAlertDialog", "Negative click!"); } /** * 自定義彈出對(duì)話框DialogFragmet * * @description: * @author ldm * @date 2016-5-12 下午1:54:31 */ public static class MyAlertDialogFragment extends DialogFragment { public static MyAlertDialogFragment newInstance(int title) { MyAlertDialogFragment frag = new MyAlertDialogFragment(); Bundle args = new Bundle(); args.putInt("title", title); frag.setArguments(args); return frag; } /** * DialogFragment需要實(shí)現(xiàn)onCreateView或者onCreateDIalog方法。 * onCreateView():使用定義的xml布局文件展示Dialog。 * onCreateDialog():利用AlertDialog或者Dialog創(chuàng)建出Dialog。 */ @Override public Dialog onCreateDialog(Bundle savedInstanceState) { int title = getArguments().getInt("title"); return new AlertDialog.Builder(getActivity())//創(chuàng)建一個(gè)Dialog .setIcon(R.drawable.alert_dialog_icon)//設(shè)置圖標(biāo) .setTitle(title)//設(shè)置標(biāo)題 .setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {//確認(rèn)(OK)按鈕 public void onClick(DialogInterface dialog, int whichButton) { ((FragmentAlertDialog) getActivity()) .doPositiveClick(); } }) .setNegativeButton(R.string.alert_dialog_cancel,//取消(Cancel)按鈕 new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { ((FragmentAlertDialog) getActivity()) .doNegativeClick(); } }).create(); } } }
布局文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal" android:orientation="vertical" android:padding="4dip" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical|center_horizontal" android:layout_weight="1" android:gravity="top|center_horizontal" android:text="Example of displaying an alert dialog with a DialogFragment" android:textAppearance="?android:attr/textAppearanceMedium" /> <Button android:id="@+id/show" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:text="@string/show" > </Button> </LinearLayout>
開源代碼:https://github.com/ldm520/ANDROID_API_DEMOS
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進(jìn)階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android AsyncTask的優(yōu)缺點(diǎn)詳解
本文主要介紹了Android AsyncTask的優(yōu)缺點(diǎn),具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02Android7.0開發(fā)實(shí)現(xiàn)Launcher3去掉應(yīng)用抽屜的方法詳解
這篇文章主要介紹了Android7.0開發(fā)實(shí)現(xiàn)Launcher3去掉應(yīng)用抽屜的方法,結(jié)合實(shí)例形式分析了Android7.0 Launcher3調(diào)整界面布局的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2017-11-11Android實(shí)現(xiàn)簡(jiǎn)單的下拉阻尼效應(yīng)示例代碼
下面小編就為大家分享一篇Android實(shí)現(xiàn)簡(jiǎn)單的下拉阻尼效應(yīng)示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01Android 連接Wifi和創(chuàng)建Wifi熱點(diǎn)的實(shí)例
本篇文章介紹了Android 連接Wifi和創(chuàng)建Wifi熱點(diǎn),小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧。2016-10-10Android ImageView Src 和Background 區(qū)別
這篇文章主要介紹了Android ImageView Src 和Background 區(qū)別的相關(guān)資料,需要的朋友可以參考下2016-09-09Android設(shè)置桌面背景圖片的實(shí)現(xiàn)方法
有時(shí)候我們需要用android設(shè)置桌面背景圖片,這里簡(jiǎn)單分享下,方便需要的朋友2013-06-06