Tôi đang tạo SpinnerAdapter bằng cách sử dụng được xây dựng trong nguồn ID android.R.layout.simple_spinner_dropdown_itemLàm cách nào để thay đổi màu của textView android.R.layout.simple_spinner_dropdown_item?
SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.action_list, android.R.layout.simple_spinner_dropdown_item);
nhưng TextView mà rằng ID tài nguyên tạo ra có Format Đen và tôi cần một màu sắc khác nhau. Cách tốt nhất để thay đổi màu sắc nhưng giữ mọi thứ khác giống nhau là gì?
Khi tôi cố gắng tạo tài nguyên bố cục textView của riêng mình trong tệp xml, ví dụ:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/White"
/>
thì nó không hoạt động giống như android.R.layout.simple_spinner_dropdown_item vì ví dụ: padding là khác nhau. Vì vậy,
- Có cách nào để tạo tài nguyên bố cục của riêng tôi trong tệp xml kế thừa mọi thứ từ android.R.layout.simple_spinner_dropdown_item và cho phép tôi ghi đè textColor không?
- Hoặc là định nghĩa đầy đủ của android.R.layout.simple_spinner_dropdown_item có ở đâu đó?
- Hoặc có lẽ có một cách dễ dàng hơn bằng cách nào đó?
Câu hỏi này liên quan đến một câu hỏi khác mà tôi đã hỏi hôm nay (Can't change the text color with Android Action Bar drop-down navigation). Tôi đã nhận ra rằng một câu trả lời cho câu hỏi đó (và do đó câu hỏi này) là tạo ra lớp ArrayAdapter
của riêng tôi kế thừa từ ArrayAdapter<T>
để tôi luôn có thể đặt màu trong mã bất cứ khi nào ArrayAdapter được sử dụng (xem câu trả lời của tôi cho câu hỏi đó) . Nhưng điều đó có vẻ như một giải pháp rất cồng kềnh: - |.
Thay đổi màu văn bản không phải là một nhiệm vụ khó!
thx vm :-). Trong thực tế, tôi đã tìm thấy cách tiếp cận thay thế của bạn, nhưng bây giờ bạn đã nói với tôi nơi để tìm các defintions xml tôi có thể sẽ chuyển sang đó. – Stochastically
+1 cho dòng suy nghĩ của bạn ... Tôi đã thêm vào giải pháp của bạn vì điều này sẽ không hoạt động ngay lập tức mà không có thay đổi. – whyoz