Android:某些设备上的DatePicker微调文本颜色为白色

时间:2018-02-16 13:08:30

标签: android datepicker

我意识到在某些设备上我的DatePicker的微调器没有显示,因为文本是白色而不是黑色(应该是)。

以荣誉5C为例:

enter image description here

使用One Plus 5的示例:

enter image description here

我通过设置黑色背景颜色来实现它:

enter image description here

我试图改变很多不同的属性,但没有任何效果。

以下是基础代码:

final AlertDialog.Builder datePickerDialog = new AlertDialog.Builder(getContext(), R.style.AlertDialog);
final View view = fragment.getActivity().getLayoutInflater().inflate(R.layout.views_form_pick_date_dialog_day, null);
final AppCompatTextView datePickerDialogTitle = (AppCompatTextView) view.findViewById(R.id.views_form_pick_date_dialog_title);
final DatePicker datePickerDialogSpinner = (DatePicker) view.findViewById(R.id.views_form_pick_date_dialog_spinner);
datePickerDialogSpinner.updateDate(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
datePickerDialog.setView(view);
datePickerDialog.show();

相关的XML布局:

R.layout.views_form_pick_date_dialog_day

<?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">

    <android.support.v7.widget.AppCompatTextView style="@style/TextViewBody"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="@dimen/style_size_space_medium"
        android:background="@color/style_color_red"
        android:text="@string/app_name"
        android:id="@+id/views_form_pick_date_dialog_title" />

    <DatePicker
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/views_form_pick_date_dialog_title"
        android:calendarViewShown="false"
        android:datePickerMode="spinner"
        android:id="@+id/views_form_pick_date_dialog_spinner" />

</RelativeLayout>

感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

只需执行以下操作即可更改datePicker textColor:

 <DatePicker
        android:id="@+id/start_date_text"
        android:layout_width="400dp"
        android:layout_height="190dp"
        android:datePickerMode="spinner"
        android:calendarViewShown="false"
        style="@style/MyDatePicker" />

和风格

<style name="MyDatePicker" parent="android:Widget.Material.Light.DatePicker">
     <item name="android:textColorPrimary">@color/Black</item>
</style>

答案 1 :(得分:0)

设置日期选择器的样式

<style name="datepicker" parent="Theme.AppCompat.Light.Dialog">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="colorAccent">@color/primary</item>
</style>

答案 2 :(得分:0)

试试这个,

将此作为您的活动样式。

<style parent="Theme.AppCompat.Light.NoActionBar" name="MyActivityTheme">

<!-- Customize your theme here. -->

<item name="colorPrimary">@color/colorPrimary</item>

<item name="colorPrimaryDark">@color/colorPrimaryDark</item>

<item name="android:textColor">@color/black</item>

<item name="colorAccent">@color/colorAccent</item>

<item name="android:textColorPrimary">@color/black</item>


</style>

并在您的清单中将其添加为您的活动主题。

<activity
        android:name="yourActivity"
        android:theme="@style/MyActivityTheme"/>

它可能对你有所帮助。