2014-10-31 15 views
9

Trong API 21, chúng tôi có thể sử dụng colorAccent để thay đổi màu của các tiện ích như EditText, RadioButton v.v. Nhưng nó không áp dụng cho các lớp con của các tiện ích đó. Tôi đã thử this nhưng nó giống như colorAccent, nó chỉ áp dụng cho các tiện ích ban đầu.Thiết kế tài liệu cho lớp con của EditText

Có giải pháp nào cho vấn đề này không? ngoài việc phải tạo một bản vẽ tùy chỉnh, hãy thực hiện nó như một kiểu ..

+2

Bạn có ý nghĩa gì bởi "lớp con của EditText"? Bạn có nói rằng nếu bạn mở rộng EditText thì colorAccent không áp dụng? – Squonk

+0

@Squonk yup..Tôi đã tạo EditText tùy chỉnh bằng cách mở rộng EditText gốc, nhưng colorAccent không áp dụng cho EditText tùy chỉnh của tôi. –

Trả lời

11

Trên thực tế như hỗ trợ Android 22,1 bạn nên phân lớp AppCompatEditText.

+0

Giải pháp này treo trên Marshmallow. – AndroidDev

+0

Không, có thể bạn đang làm điều gì đó khác. – Jessicardo

0

Vì bạn không đăng bất kỳ mã nguồn nào, tôi đoán bạn không làm tăng lượt xem của bạn từ bố cục XML nhưng gọi là mới MyCustomEditText.

Là trang web của nhà phát triển đã nêu: Thiết kế chủ đề material design chỉ có thể được áp dụng khi tải chế độ xem bằng cách sử dụng bộ đệm bố cục.

Điều này là do thiết kế material design backport móc vào quy trình lạm phát bố cục.

Một lý do khác có thể được thực hiện là thư viện appcompat v7 chỉ tải thiết kế material design khi nó tìm thấy EditText trong bố cục XML. Và nó không nhận ra các thành phần xem tùy chỉnh.

Google dự định phát hành tiện ích con vật liệu backport cho công chúng, họ tuyên bố rằng các tiện ích này hiện vẫn đang được phát triển. Bạn có thể muốn ghi đè lên các tiện ích backport đặc biệt này, nó có thể giải quyết vấn đề của bạn. Nhưng vì chúng chưa được công khai ... bạn không thể.

+0

Tôi đã gọi chế độ xem tùy chỉnh của mình thông qua xml và thổi phồng nó thông qua onCreateView..so tôi đoán là tôi cần phải đợi sau đó? –

12

Đối với việc áp dụng colorAccent chỉ mở rộng lớp EditText tùy chỉnh của bạn từ android.support.v7.widget.AppCompatEditText

+0

wow, tôi không biết rằng .. cảm ơn bạn rất nhiều .. –

+1

@DarkLeonhart lớp này là để sử dụng nội bộ của thư viện hỗ trợ, nhưng tôi không biết một cách khác – AndrOvip

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