Tôi muốn áp dụng một số kiểu cho DatePicker
. Trong platform's attrs.xml
chúng ta có thể xem các thuộc tính sau cho DatePicker
styleable:Không thể giải quyết thuộc tính từ không gian tên Android
<declare-styleable name="DatePicker">
...
<!-- The text color for the selected date header text, ex. "2014" or
"Tue, Mar 18". This should be a color state list where the
activated state will be used when the year picker or day picker is
active.-->
<attr name="headerTextColor" format="color" />
<!-- The background for the selected date header. -->
<attr name="headerBackground" />
...
</declare-styleable>
Trong khi tôi có thể tham khảo android:headerBackground
, bất ngờ tôi không thể làm điều đó cho android:headerTextColor
thuộc tính. Vì vậy, mã sau đây trong styles.xml
:
<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.DatePicker">
<item name="android:headerBackground">@color/red</item>
<item name="android:headerTextColor">@color/red</item>
</style>
Lời nhắc có lỗi, không thể giải quyết được lỗi android:headerTextColor
.
Nhưng tôi có thể clearly seeWidget.Material.DatePicker
trọng thuộc tính đó. Điều thú vị là đoạn mã được đặt trước với chú thích Attributes for new-style DatePicker
, điều này có thể dẫn đến nguyên nhân của hành vi này.
Nguyên nhân của hành vi này và cách ghi đè thuộc tính đó?
Chạy trên Android Studio 2.3, minSdkVersion 23, buildToolsVersion 25.0.3, compileSdkVersion & targetSdkVersion 23, không còn giá trị lưu trữ và dự án làm sạch.
Như bạn có thể thấy trong R.attr
docs, có văn bản này đằng sau một số thuộc tính:
liên tục này đã bị phản đối ở mức API 23. Sử dụng headerTextColor để thay thế.
Có nghĩa là, thuộc tính này phải được hiển thị với API công khai, nhưng bằng cách nào đó thuộc tính này bị tước bỏ và AAPT không thể truy cập vào nó.
Đã mở an issue tại trình theo dõi lỗi.
Odd Tôi thấy rằng cùng một hành vi 'android:. Stills headerMonthTextAppearance' hoạt động để ghi đè lên sự xuất hiện của tháng. Thật không may, 'android: headerYearTextAppearance' cũng có vẻ bị hỏng, vì vậy đây sẽ chỉ là một nửa số công việc. – Cheticamp
@Cheticamp, tôi cũng thấy rằng hành vi liên quan đến' android: headerYearTextAppearance'. Tôi tình cờ gặp vấn đề này khi trả lời [this câu hỏi] (https://stackoverflow.com/a/44088524/1083957).Bằng cách nào đó, tôi có thể tìm thấy các đường nối để thay đổi hình thức văn bản năm, nhưng nó là bí ẩn đối với tôi tại sao thuộc tính này không được nhìn thấy. Nó có vẻ như một lỗi. – azizbekian