我正在实现自定义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平台上,也依赖于制造商层,DialogFragment可能是黑暗的,而TextView颜色几乎是不可见的。
我可以使用任何安卓颜色来摆脱这个问题吗?
答案 0 :(得分:1)
结帐HoloEverywhere
。它是一个库,它将Holo
主题的后端移植到2.x设备来解决这个问题。我已经实现了几个问题。
如果这工作太多,而您实际上只想为这一个视图的背景着色,请查看these options,其中会显示基本Android Holo
颜色的值。你可以复制你想要的任何值。
这些似乎对你最有用:
<color name="background_holo_dark">#ff000000</color>
<color name="background_holo_light">#fff3f3f3</color>