Mar*_*cus 2 android android-alertdialog android-dialogfragment
我有一个对话框片段,在WidgetConfig活动运行时显示.该对话框显示用户可以选择某些项目的列表.我希望此对话框是透明的,以便您可以在对话框的背景中看到主屏幕.这就是我目前在WidgetConfig活动中所做的事情:
DialogFragment dialog = new myChooserDialog();
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog.show(getFragmentManager(), "dialog");
Run Code Online (Sandbox Code Playgroud)
编辑:myChooserDialog的代码:
public class MyChooserDialog extends DialogFragment{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
choices = getResources().getStringArray(R.array.city_choices);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(getResources().getString(R.string.widget_dialog_chooser_title));
builder.setPositiveButton(getResources().getString(R.string.widget_dialog_chooser_posBtn), this);
builder.setNegativeButton(getResources().getString(R.string.widget_dialog_chooser_negBtn), this);
builder.setSingleChoiceItems(choices, -1, this);
return builder.create();
}
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
//doing magic tricks
break;
case DialogInterface.BUTTON_NEGATIVE:
dialog.dismiss();
break;
default:
//more magic
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
目前,背景全黑.我在这做错了什么?
马库斯
Moh*_*dva 10
将以下行添加到您的 onCreateDialog
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color
.TRANSPARENT));
return dialog;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7558 次 |
| 最近记录: |