5

我有一个简单的 DialogFragment 显示一些文本(其中包含一个年份字符串),然后是一个 SeekBar,用户可以滑动并更改年份字符串。

在 Android 3 和 4 上,这看起来不错……这些平台具有浅色背景并使用黑色文本。

在此处输入图像描述

但是,在 Android 2 上,对话框的背景是深色的,并且仍然使用黑色文本。

在此处输入图像描述

我不想为不同版本的 Android 配置不同的配色方案,因为必须有一些内置在 Android 系统中的默认值,我应该能够使用这些默认值来设置我的 TextView 的样式,以便它使用适当的文本颜色.

这是显示年份字符串的 TextView:

<TextView
    android:id="@+id/textViewYear"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="10dp"
    android:text="1976"
    android:textAppearance="?android:attr/textAppearanceLarge" />

我可以对我的 TextView 应用哪些设置,以便系统始终对它进行适当的着色?

请注意,我不能只使用 Inverse 样式,因为在 Android 3 和 4 上它可以正常工作。如果我使用反向文本外观,那么它适用于 Android 2,但在 3 和 4 上失败。

4

1 回答 1

2

在另一个 SO 帖子上找到了解决方案

builder.setInverseBackgroundForced(true)

在 Android 3.x 和 4.x 上,这似乎没有任何改变,但在 Android 2.x 上,它会反转配色方案,使背景为白色,从而正确显示黑色文本。

于 2013-03-22T20:12:48.470 回答