0

我正在实现自定义 DialogFragment 并遇到字体颜色问题。

这是有问题的 TextView 视图代码:

<TextView
        android:id="@+id/message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@android:color/secondary_text_light"
        android:text="@string/loading_message" />

这就是 DialogFragment 的创建方式。

public Dialog onCreateDialog(Bundle savedInstanceState) {
    super.onCreateDialog(savedInstanceState);
    LayoutInflater inflater = getActivity().getLayoutInflater();
    ViewGroup view = (ViewGroup) inflater.inflate(R.layout.dialog_undetermined_progress, null);
    progressBar = (ProgressBar) view.findViewById(R.id.progress_bar);   
    messageView = (TextView) view.findViewById(R.id.message);
    messageView.setText(message);

    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setTitle(title).setView(view);

    return builder.create(); 
}

如果 Android 支持 holo 一切都很好,因为对话框是白色的,并且 TextView 是可见的。但是在几个2.3平台上,也依赖于manufacturer layer,DialogFragment可以是深色的,TextView颜色几乎看不到。

有什么安卓颜色可以用来解决这个问题吗?

4

1 回答 1

1

退房HoloEverywhere。它是一个将Holo主题向后移植到 2.x 设备来解决这个问题的库。我已经实现了它,几乎没有问题。

如果这工作量太大,而您真的只是想为这个视图的背景着色,请查看这些选项,它们显示了基本 AndroidHolo颜色的值。你可以复制任何你想要的值。

这些对您来说似乎最有用:

<color name="background_holo_dark">#ff000000</color>
<color name="background_holo_light">#fff3f3f3</color>
于 2013-10-09T15:02:05.610 回答