对话框后面有奇怪的白边

3

我在我的安卓应用中遇到了一个奇怪的问题。前段时间我注意到有时候在对话框后面会出现奇怪的白色边框:

a busy cat

问题存在于模拟器和我的手机上。在显示几个对话框后,边框似乎会消失。它在我的自定义对话框片段和首选项屏幕上的对话框中都可见。
我没有使用支持库(11是我的最小sdk)。我的手机和模拟器运行在Android 4.0.4上。
有人知道发生了什么吗?
编辑: 以下是其中一个对话框的示例代码:
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    MainActivity activity = (MainActivity) getActivity();
    LayoutInflater inflater = activity.getLayoutInflater();

    Bundle arguments = getArguments();

    String message = arguments.getString(MESSAGE_BUNDLE_KEY);
    if (message == null) {
        message = getString(R.string.please_wait);
    }

    View dialogView = inflater.inflate(R.layout.dialog_progress, null);
    TextView messageTextView = (TextView) dialogView
            .findViewById(R.id.progress_dialog_message);
    messageTextView.setText(getString(R.string.please_wait));
    messageTextView.setTypeface(activity.getRedkneeFont());
    setRetainInstance(true);

    return new AlertDialog.Builder(getActivity()).setView(dialogView)
            .create();
}

XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<ProgressBar
    android:id="@+id/progress_dialog_progress_bar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="17dp"
    android:layout_marginTop="17dp" />

<TextView
    android:id="@+id/progress_dialog_message"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/progress_dialog_progress_bar"
    android:layout_marginLeft="19dp"
    android:layout_marginTop="12dp"
    android:layout_toRightOf="@+id/progress_dialog_progress_bar"
    android:text="Medium Text"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<View
    android:id="@+id/progress_dialog_margin_view"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/progress_dialog_progress_bar"
    android:layout_marginTop="17dp"
    android:background="@color/separator_blue" />

编辑: 当我切换到支持库(现在所有的片段都从appcompat导入),边框消失了。是一个bug吗?


请发布一些您对话框的代码。 - Sagar Pilkhwal
ok, posted in original post - Lukasz Fracz
R.layout.dialog_progress的代码是什么? - MysticMagicϡ
发布 R.layout.dialog_progress 的 XML。 - Sagar Pilkhwal
完成,已发布在帖子中。 - Lukasz Fracz
1个回答

1

尝试在您的对话框构造函数中应用主题以使其半透明

setStyle(R.style.Theme.AppCompat.Translucent);


我没有使用AppCompat,但是我尝试调用setStyle(STYLE_NO_FRAME, R.style.AppTheme);。什么也没改变。 - Lukasz Fracz
1
然后使用直接半透明主题“Theme_Translucent_NoTitleBar”。 - user2702835
setStyle(STYLE_NO_FRAME, android.R.style.Theme_Translucent_NoTitleBar); 什么都没有改变... - Lukasz Fracz
1
dialogView.setBackgroundColor(); 更改为透明颜色。 - user2702835
还是没有任何内容。我将尝试使用支持库,这是一种解决方法,但我希望它能起作用。 - Lukasz Fracz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接