Articles of android dialog

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); […]

ICS Holo Dialog主题有什么问题?

我在冰淇淋三明治中使用Holo Dialog主题( @android:style/Theme.Holo.Dialog )的活动遇到了一些奇怪的问题。 看起来他们忽略了他们的布局并填充整个屏幕而不是布局宽度和高度从他们的XML布局。 相同的布局在Honeycomb中起作用,但在冰淇淋三明治上没有。 例: 正确的方法(蜂窝) 不正确的方式(冰淇淋三明治) 两个设备都运行完全相同的应用程序版本,并使用完全相同的布局。 这是有问题的布局: 有关如何解决这个问题的任何想法? 类似的问题出现在我的基于ICS的Galaxy Nexus上,完全忽略了match_parent标签的高度和宽度。 ICS中的对话主题是否被破坏? 更新: 我做了一些更多的测试,似乎894dp的宽度或更小将产生“正确”的外观,但如果我将宽度设置为895dp或更多,那将是不正确的外观。 模拟器的行为方式相同。 这非常奇怪……

Android关闭自定义对话框

我试图按下按钮关闭自定义对话框 //set up dialog Dialog dialog = new Dialog(BrowseActivity.this); dialog.setContentView(R.layout.about); dialog.setTitle(“This is my custom dialog box”); dialog.setCancelable(true); //there are a lot of settings, for dialog, check them all out! //set up text TextView text = (TextView) dialog.findViewById(R.id.TextView01); text.setText(R.string.app_help_message); //set up image view ImageView img = (ImageView) dialog.findViewById(R.id.ImageView01); img.setImageResource(R.drawable.icon); //set up button Button button = (Button) […]

使用appCompat 23+创建自定义材质对话框的正确方法

好的,我真的很困惑如何使用最新的appcompat v23.0.1正确地创建自定义对话框这里有几种方法 第一种方式: public class AddTipDialogFrag extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { int title = getArguments().getInt(“title”); AppCompatDialog dialogCompat = new AppCompatDialog(getActivity(), R.style.MyAlertDialogStyle); dialogCompat.setTitle(title); //doesn’t work btw dialogCompat.setContentView(R.layout.add_tip_fragment); return dialogCompat; } } 第二种方式: public class AddTipDialogFrag extends AppCompatDialogFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.add_tip_fragment,container, […]