Articles of android dialog

Android警报对话框背景问题API 11+

我使用下面的代码创建一个AlertDialog 。 出于某种原因,我在Honeycomb及以上版本上获得了额外的背景(见图)。 代码在蜂窝以下的任何地方崩溃都很好。 MyCustomDialog只是用于API-11的Theme.Holo.Dialog和用于API-11及更高版本的Theme.Holo.Dialog 。 知道为什么我得到额外的背景吗? 知道为什么它崩溃API <11? 如果我删除主题,它工作正常。 更新find问题#2的答案。 似乎构造函数AlertDialog.Builder(Context context, int theme)是在API 11中引入的。我的修复只是将行更改为: final AlertDialog.Builder builder = (Integer.parseInt(android.os.Build.VERSION.SDK) < 11)? new AlertDialog.Builder(this) : new AlertDialog.Builder(this,R.style.JumpDialog); 我仍然需要问题#1的帮助 private Dialog setupKeyBoardDialog() { if (mContact.getLocaleId() != -1) { final AlertDialog.Builder builder = new AlertDialog.Builder(this,R.style.MyCustomDialog); builder.setTitle(“Keyboards”); mKeyboardLayouts = new KeyboardLayoutGroup(); mKeyboardLayouts.layoutNames = new CharSequence[(int) jni.getNumKeyLayouts()]; mKeyboardLayouts.layoutValue […]

如何在Android中扩展Application的类中显示Dialog Box?

我希望在特定条件后显示一个对话框,但是对于现在的演示,我想要从扩展Application的类中显示一个对话框。 这是我的代码 public class ControlApplication extends Application { @Override { super.onCreate(); final Dialog dialog = new Dialog ( getApplicationContext() ); dialog.setTitle(“zakasssssssssssssssssss”); dialog.setCancelable(false); dialog.show(); } } 但在dialog.show()我得到的错误就像 Attempted to add window with non-application token WindowToken{4067a268 token=null}. Aborting. D/AndroidRuntime( 1923): Shutting down VM W/dalvikvm( 1923): threadid=1: thread exiting with uncaught exception (group=0x40015560) E/AndroidRuntime( 1923): FATAL EXCEPTION: main […]

从Dialog窗口调用onContextItemSelected时不会触发它

Dialog dialog; private void opendialog() { dialog = new Dialog(MainActivity.this); dialog.setContentView(R.layout.popup); dialog.setTitle(R.string.msettings); RelativeLayout reply_layout = (RelativeLayout) dialog .findViewById(R.id.reply_layout); final RelativeLayout ringtone_layout = (RelativeLayout) dialog .findViewById(R.id.ringtone_layout); registerForContextMenu(ringtone_layout); ringtone_layout.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { openContextMenu(ringtone_layout); } }); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.setHeaderTitle(“Select The Action”); […]

Android:在容器的中心显示自定义对话框

如何将自定义对话框显示为容器的中心? Dialog customdialog = new Dialog(this,android.R.style.Theme_Translucent_NoTitleBar); Window window = customdialog.getWindow(); window.setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); window.setGravity(Gravity.CENTER); R.style.Theme_Translucent_NoTitleBar – 用于删除cutomdialog的边框。 一旦我使用此行,对话框将出现在平板电脑的topleft角落? 任何人都可以帮我解决这个问题吗?

在`Thread.setDefaultUncaughtExceptionHandler`中显示一个对话框

当我的android应用程序抛出exception时,我想显示一个自定义对话框告诉用户发生了错误,所以我使用Thread.setDefaultUncaughtExceptionHandler来设置一个全局exception处理程序: public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { @Override public void uncaughtException(Thread thread, final Throwable ex) { AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext()); builder.setTitle(“There is something wrong”) .setMessage(“Application will exit:” + ex.toString()) .setPositiveButton(“OK”, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // throw it again […]

Android:不确定水平进度(对话框)栏

创建不确定的横向进度条的最佳方法是什么? 如果我这样做, dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); dialog.setIndeterminate(true); 我仍然在底部得到进度数字(百分比等)。 在ICS上,我可以这样做, dialog.setProgressNumberFormat(“”); dialog.setProgressPercentFormat(new NumberFormat() { @Override public StringBuffer format(double value, StringBuffer buffer, FieldPosition field) { return new StringBuffer(); } @Override public StringBuffer format(long value, StringBuffer buffer, FieldPosition field) { return new StringBuffer(); } @Override public Number parse(String string, ParsePosition position) { return 0; } }); 摆脱底部的数字,但这两种方法仅适用于ICS。 ? 谢谢

在Android Dialog中,如何为startActivityForResult设置onActivityResult?

从一个活动,我可以轻松设置onActivityResult()并调用startActivityForResult() ,一切正常。 现在,我需要从Dialog调用startActivityForResult() 。 但是我无法设置onActivityResult() ,我相信Dialog不是一个Activity 。 我如何得到结果? 我在对话框中尝试这样的东西,但它失败了。 //create new Intent Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, m_PicUri); ((Activity) getContext()).startActivityForResult(intent, Const.TAKE_PIC_ACTIVITY_RET_CODE);

AlertDialog带有正面按钮并validation自定义EditText

我用正面和负面按钮创建了简单的AlertDialog 。 正面按钮已注册DialogInterface.OnClickListener ,我在其中获得EditText值。 我必须validation它(例如,如果它必须不为null)并且如果值不正确,则禁止关闭此对话框。 单击并validation后如何防止解除对话框?

使用单选按钮列表创建自定义对话框

我有一个方法,我有一个值列表: /** * ISO * */ public void getISO(View view) { // Open dialog with radio buttons List supported_isos = preview.getSupportedISOs(); SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this); String current_iso = sharedPreferences.getString(MainActivity.getISOPreferenceKey(), “auto”); } 此方法在ImageButton onClick()上显示: android:onClick=”getISO” 但我需要在带有单选按钮的对话框中显示此列表。 可能已在对话框中选择了首选项值。是否可能?

DialogFragment按钮在棒棒糖中的颜色变化

我希望我的片段看起来与我应用的其他应用程序和调色板一致,所以我想改变标题的颜色,还要改变正/负按钮的颜色: 我尝试这样做,但不幸的是它不起作用: public void onStart() { super.onStart(); Dialog d = getDialog(); int dividerId = d.getContext().getResources().getIdentifier(“android:id/titleDivider”, null, null); View divider = d.findViewById(dividerId); if(currentapiVersion< Build.VERSION_CODES.LOLLIPOP) { divider.setBackgroundColor(getResources().getColor(R.color.accent)); LinearLayout ll = (LinearLayout) d.findViewById(R.id.dialog_background); ll.setBackgroundResource(R.drawable.backrepeat_reversed); } if(currentapiVersion == Build.VERSION_CODES.LOLLIPOP) { int buttonsId = d.getContext().getResources().getIdentifier("android:id/negativeButton", null, null); Button b = (Button) d.findViewById(buttonsId); b.setTextColor(getResources().getColor(R.color.accent)); } int textViewId = d.getContext().getResources().getIdentifier("android:id/alertTitle", null, null); […]