2015-05-28 11 views
8

đây là lần đầu tiên tôi đăng câu hỏi.Android: Làm thế nào để thay đổi màu sắc của bộ đếm thời gian trong widget Datepicker?

Tôi đã triển khai thành công một Datepicker trong ứng dụng của mình (chỉ nhắm mục tiêu SDK 21 trở lên). Tôi cũng muốn tạo kiểu cho Datepicker của mình để hòa trộn với phần còn lại của ứng dụng. Đây là những gì tôi có:

<style name="MyDatePickerDialogTheme" parent="Theme.AppCompat.Light.Dialog"> 
    <item name="android:datePickerStyle">@style/MyDatePickerStyle</item> 
    <item name="android:colorAccent">@color/primDark</item> 
</style> 

<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker"> 
    <item name="android:headerBackground">@color/prim</item> 
    <item name="android:calendarTextColor">@color/primDark</item> 
    <item name="android:dayOfWeekBackground">@color/primDark</item> 
    <item name="android:yearListSelectorColor">@color/accent</item> 
    <item name="android:datePickerMode">calendar</item> 
</style> 

Tôi không thể tìm thuộc tính để thay đổi màu của công cụ chọn ngày trong lịch. Không có thuộc tính nào được liệt kê here. Tuy nhiên tôi đã có thể thay đổi màu sắc của bộ chọn năm (xem bên phải của ảnh chụp màn hình) với thuộc tính "yearListSelectorColor". Làm cách nào để tô màu cho bộ chọn tương ứng và màu văn bản đã chọn ở bên trái?

Để làm rõ, đây là những gì datepicker của tôi trông giống như: Screenshots

Vì vậy, nếu ai đó biết làm thế nào để thoát khỏi rằng màu teal chuẩn, vui lòng cho tôi biết.

Cảm ơn bạn!

Trả lời

16

OK Tôi nghĩ mình đã hiểu.

Tôi đã cố gắng hết sức để tìm một thuộc tính trong MyDatePickerStyle. Các giải pháp đến với tâm trí của tôi khi tôi đã suy nghĩ lại toàn bộ hệ thống phân cấp thừa kế. Tôi chỉ cần thêm colorAccent vào MyDatePickerDialogTheme.

<style name="MyDatePickerDialogTheme" parent="Theme.AppCompat.Light.Dialog"> 
    <!-- this is new --> 
    <item name="colorAccent">@color/accent</item> 

    <item name="android:datePickerStyle">@style/MyDatePickerStyle</item> 
    <item name="android:colorAccent">@color/primDark</item> 
</style> 

<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker"> 
    <item name="android:headerBackground">@color/prim</item> 
    <item name="android:calendarTextColor">@color/primDark</item> 
    <item name="android:dayOfWeekBackground">@color/primDark</item> 
    <item name="android:yearListSelectorColor">@color/accent</item> 
    <item name="android:datePickerMode">calendar</item> 
    <item name="android:minDate">01/01/2000</item> 
</style> 

Bằng cách nào đó tôi nghĩ mọi chủ đề đều có màu chính từ AppTheme một cách tự động.

Vì vậy, hy vọng điều này sẽ giúp ai đó trong tương lai.

+0

Điều này không hiệu quả đối với tôi, công cụ chọn ngày không thay đổi –

+0

Công trình này https://stackoverflow.com/a/48551810/1621111 –

Các vấn đề liên quan