我正在学习Android Studio并面临Alertbox的问题。为什么警告框在背景中不是透明的全高?我搜索过它,但所有技巧都失败了。我是android studio的新手,所以你的一些解释对我有帮助。
这是我的代码。最后的图片显示图中的问题。
attachInterrupt(D4, doSth, CHANGE);
add_group_popup.xml
attachInterrupt(D4, doSth(), CHANGE);
答案 0 :(得分:2)
对此我有完全相同的问题,最后我可以通过将AlertDialog
替换为Dialog
来解决此问题。
所以解决方案是这样的:
Dialog dialog =
new Dialog(
this,
android.R.style.Theme_DeviceDefault_Light_NoActionBar_Fullscreen
);
dialog.setContentView(R.layout.yourCustomLayoutDialog);
希望获得帮助。
答案 1 :(得分:1)
您可以明确设置对话框的高度和宽度,使其与onStart
public void onStart() {
super.onStart();
DisplayMetrics metrics = getResources().getDisplayMetrics();
int width = metrics.widthPixels;
int height = metrics.heightPixels;
getDialog().getWindow().setLayout(width, height);
}
答案 2 :(得分:0)
当我在活动中编写类似这样的方法并从片段中使用它时偶然发现,它是全屏显示的。
public AlertDialog showAlert(String message) {
AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.AppTheme);
builder.setMessage(message);
builder.setPositiveButton("OK", null);
return builder.show();
}
答案 3 :(得分:0)
使用Window manager以编程方式设置对话框大小。
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(rate.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.WRAP_CONTENT;
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
alertdialog.show();
alertdialog.getWindow().setAttributes(lp);