【发布时间】:2013-04-11 18:07:20
【问题描述】:
我正在使用内置资源 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 不同,因为例如填充不同。所以
- 有没有办法在 xml 文件中创建自己的布局资源,该文件继承 android.R.layout.simple_spinner_dropdown_item 的所有内容并允许我覆盖 textColor?
- 或者 android.R.layout.simple_spinner_dropdown_item 的完整定义在某处可用?
- 或者也许有更简单的方法?
这个问题与我今天提出的另一个问题 (Can't change the text color with Android Action Bar drop-down navigation) 有关。我已经意识到这个问题的一个答案(以及这个问题)是创建我自己的 ArrayAdapter 类,它继承自 ArrayAdapter<T> 以便我可以在使用 ArrayAdapter 时始终在代码中设置颜色(请参阅我的答案那个问题)。但这似乎是一个非常麻烦的解决方案:-|。
更改文本颜色不应该是一项艰巨的任务!
【问题讨论】:
标签: android textview android-spinner android-styles