博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建系统Dialog 示例代码
阅读量:795 次
发布时间:2019-03-25

本文共 4155 字,大约阅读时间需要 13 分钟。

import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG;    private void handleShowKeyboardShortcuts(List
keyboardShortcutGroups) { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(mContext); LayoutInflater inflater = (LayoutInflater) mContext.getSystemService( LAYOUT_INFLATER_SERVICE); final View keyboardShortcutsView = inflater.inflate( R.layout.keyboard_shortcuts_view, null); populateKeyboardShortcuts((LinearLayout) keyboardShortcutsView.findViewById( R.id.keyboard_shortcuts_container), keyboardShortcutGroups); dialogBuilder.setView(keyboardShortcutsView); dialogBuilder.setPositiveButton(R.string.quick_settings_done, mDialogCloseListener); mKeyboardShortcutsDialog = dialogBuilder.create(); mKeyboardShortcutsDialog.setCanceledOnTouchOutside(true); Window keyboardShortcutsWindow = mKeyboardShortcutsDialog.getWindow(); keyboardShortcutsWindow.setType(TYPE_SYSTEM_DIALOG); mKeyboardShortcutsDialog.show(); } private final OnClickListener mDialogCloseListener = new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dismissKeyboardShortcuts(); } };

2

public void showDialog(Context context) {        if (!canShowAlertDialog(context)) {            Log.w(TAG, "Cannot create a dialog, the WebView context is not an Activity");            mResult.cancel();            return;        }        String title, displayMessage;        int positiveTextId, negativeTextId;        if (mType == UNLOAD) {            title = context.getString(com.android.internal.R.string.js_dialog_before_unload_title);            displayMessage = context.getString(                    com.android.internal.R.string.js_dialog_before_unload, mMessage);            positiveTextId = com.android.internal.R.string.js_dialog_before_unload_positive_button;            negativeTextId = com.android.internal.R.string.js_dialog_before_unload_negative_button;        } else {            title = getJsDialogTitle(context);            displayMessage = mMessage;            positiveTextId = com.android.internal.R.string.ok;            negativeTextId = com.android.internal.R.string.cancel;        }        AlertDialog.Builder builder = new AlertDialog.Builder(context);        builder.setTitle(title);        builder.setOnCancelListener(new CancelListener());        if (mType != PROMPT) {            builder.setMessage(displayMessage);            builder.setPositiveButton(positiveTextId, new PositiveListener(null));        } else {            final View view = LayoutInflater.from(context).inflate(                    com.android.internal.R.layout.js_prompt, null);            EditText edit = ((EditText) view.findViewById(com.android.internal.R.id.value));            edit.setText(mDefaultValue);            builder.setPositiveButton(positiveTextId, new PositiveListener(edit));            ((TextView) view.findViewById(com.android.internal.R.id.message)).setText(mMessage);            builder.setView(view);        }        if (mType != ALERT) {            builder.setNegativeButton(negativeTextId, new CancelListener());        }        builder.show();    }-------------------------------------------------------------------------------------private class CancelListener implements DialogInterface.OnCancelListener,            DialogInterface.OnClickListener {        @Override        public void onCancel(DialogInterface dialog) {            mResult.cancel();        }        @Override        public void onClick(DialogInterface dialog, int which) {            mResult.cancel();        }    }    private class PositiveListener implements DialogInterface.OnClickListener {        private final EditText mEdit;        public PositiveListener(EditText edit) {            mEdit = edit;        }        @Override        public void onClick(DialogInterface dialog, int which) {            if (mEdit == null) {                mResult.confirm();            } else {                mResult.confirm(mEdit.getText().toString());            }        }    }

 

转载地址:http://syguk.baihongyu.com/

你可能感兴趣的文章