Android AlertDialog生成黑色背景黑色文本

Jon*_*Jon 5 android

我在android API 10的对话框中遇到自定义视图的问题.

AlertDialog.Builder用来构建我的对话框.我使用setView构建器上的命令包含自定义视图面板.

这适用于我测试过的大部分API.样式在设备之间有所变化,但这就是我想要的,因为样式与设备默认匹配.

我的问题是在API 10上,我的自定义视图中的任何文本在黑色背景上显示为黑色.

我插入的任何文本都AlertDialog.Builder.setMessage()正确显示.

对话框构建器用于确定文本外观的神奇属性/样式是什么?

我的应用程序的主题是Theme.AppCompat.Light.

这是我的onCreateDialog方法:

    public Dialog onCreateDialog(Bundle savedInstanceState) {
    LayoutInflater inflater = getActivity().getLayoutInflater();
    final View view = inflater.inflate(R.layout.fragment_status_dialog, null);
    mStatusTextView = (TextView) view.findViewById(R.id.text_status);
    mConnectedDeviceTextView = (TextView) view.findViewById(R.id.text_connected_device);

    MainService.ServiceState state = null;
    if (getArguments().containsKey(SERVICE_STATUS_ARG_KEY)) {
        state = (MainService.ServiceState) getArguments().getSerializable(SERVICE_STATUS_ARG_KEY);
    }
    setState(state);

    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setView(view);
    builder.setMessage("This will show up just fine.");
    builder.setTitle(getString(R.string.status_title));
    builder.setNegativeButton(R.string.dialog_back_button_text, null);
    builder.setNeutralButton(R.string.dialog_connect_to_text, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            mListener.onDialogConnectTo();
        }
    });
    // Create the AlertDialog object and return it
    return builder.create();
}
Run Code Online (Sandbox Code Playgroud)

这是我的fragment_status_dialog布局

    <?xml version="1.0" encoding="utf-8"?>

    <RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="18dp">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="@string/status_starting"
    android:id="@+id/text_status"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="@string/status_connected_to_unknown"
    android:paddingStart="4dp"
    android:paddingLeft="4dp"
    android:paddingRight="4dp"
    android:id="@+id/text_connected_device"
    android:layout_toRightOf="@+id/text_status"
    android:layout_toEndOf="@+id/text_status"/>
    </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

注意,我已经尝试过/sf/answers/1715371871/,但它没有修复它.

前

Ale*_*ood 2

尝试打电话AlertDialog#setInverseBackgroundForced(true)