我正在使用内置资源 ID android.R.layout.simple_spinner_dropdown_item 创建一个 SpinnerAdapter
SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.action_list, android.R.layout.simple_spinner_dropdown_item);
但是该资源 ID 创建的 textView 具有 textColor Black,我需要不同的颜色。改变颜色但保持其他一切不变的最佳方法是什么?
当我尝试在 xml 文件中创建自己的 textView 布局资源时,例如
<?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"
/>
那么它的行为方式与 android.R.layout.simple_spinner_dropdown_item 不同,因为例如填充不同。所以
- 有没有办法在继承 android.R.layout.simple_spinner_dropdown_item 的所有内容并允许我覆盖 textColor 的 xml 文件中创建我自己的布局资源?
- 或者 android.R.layout.simple_spinner_dropdown_item 的完整定义在某处可用?
- 或者也许有更简单的方法?
这个问题与我今天提出的另一个问题有关(Can't change the text color with Android Action Bar drop-down navigation)。我已经意识到这个问题(以及这个问题)的一个答案是创建我自己的ArrayAdapter
继承自的类,ArrayAdapter<T>
这样我就可以在使用 ArrayAdapter 时始终在代码中设置颜色(请参阅我对该问题的回答)。但这似乎是一个非常麻烦的解决方案:-|。
更改文本颜色不应该是一项艰巨的任务!