【发布时间】:2013-12-11 19:47:22
【问题描述】:
我有一个看起来像这样的对话框片段。
AlertDialog ad = builder.create();
Drawable d = new ColorDrawable(Color.BLACK);
d.setAlpha(130);
ad.getWindow().setBackgroundDrawable(d);
此代码使背景半透明。但我仍然在底部有一个白色的部分。我想摆脱白色只有半透明背景
我已经尝试了很多我在其他帖子中看到的东西。
我不知道必须在 DialogFragment、AlertDialog 和 LinearLayout 之间更改的对象是什么。
它可能不是LinearLayout,因为当我增加边距时,什么都没有。
这是我的代码:
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// setStyle(DialogFragment.STYLE_NORMAL, 0);
// setStyle(STYLE_NO_FRAME, R.style.CustomDialog);
// setStyle(STYLE_NO_FRAME, 0);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
View view = getActivity().getLayoutInflater().inflate(
R.layout.share_or_die, null);
AlertDialog ad = builder.create();
Drawable d = new ColorDrawable(Color.BLACK);
d.setAlpha(130);
ad.getWindow().setBackgroundDrawable(d);
ad.setCanceledOnTouchOutside(true);
ad.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
ad.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
return ad;
}
当用户单击返回按钮时,我只是在 mainActivity 中调用它:
@Override
public void onBackPressed() {
if (isUserConnected && !hasShared) {
shareOnExitDialog = new ShareOnExitDialog();
shareOnExitDialog.setCancelable(true);
shareOnExitDialog.show(getSupportFragmentManager(), "Exit");
} else {
finish();
}
}
任何帮助将不胜感激!
【问题讨论】:
-
你确定 R.layout.share_or_die 中没有白色背景吗?
-
是的!我里面只有一个linearLayout,但是我改变了linearlayout的属性,白色还是没变。发送求助!
-
您是否尝试将单个 TextView 而不是 LL 放入对话框中?
-
另外,你在哪里使用那个膨胀的视图?看起来问题中的代码不完整。
-
我从不使用我的膨胀视图。当我放置一个文本视图时,它仍然显示为白色:(
标签: android android-dialogfragment