java - 微调项目的单独背景颜色
问题描述
我想为旋转器个体的每个项目的背景着色。这些项目使用以下代码设置:
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.duesentypen, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
十六进制值存储在数组中。而索引计数是指项目计数。例如:
String[] hex = {"#886da8", "#ffc3cf","#ef9b00", "#2bb430", "#f7dc01", "#bc65a2", "#487ebf","#e00124","#b36634","#949494", "#ffffff","#000000","#4bbbd0", "#8b6d9f", "#8ccff4"};
//color for the first spinner item: hex[0]
//color for the second spinner item: hex[1]
我怎样才能以最好的方式做到这一点?
解决方案
尝试根据位置改变颜色。
final List<String> plantsList = new ArrayList<>(Arrays.asList(plants));
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.duesentypen, android.R.layout.simple_spinner_item){
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
View view = super.getDropDownView(position, convertView, parent);
TextView tv = (TextView) view;
switch(position) {
case 0:
tv.setTextColor(Color.parseColor("#FF7C7967"));
case 1:
tv.setTextColor(Color.parseColor("#FF7C7967"));
}
return view;
}
};
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
推荐阅读
- aurelia - 如何使用 aurelia 生成和扫描条形码?
- oracle - ORA-001031从存储过程执行语句时权限不足
- python-3.x - 如何避免使用 pip install -e
每次我 git pull 更新 ? - android - 模棱两可的 Firebase 分析控制台错误
- protractor - 如何修复“错误:getaddrinfo ENOTFOUND selenium-release.storage.googleapis.com selenium-release.storage.googleapis.com:443”
- ruby-on-rails - Ruby on Rails 添加评论以发表
- vhdl - VHDL 中带有 MPU6050 的 I2Cmaster 无法正常工作
- sql - 删除选择中的重复项
- reactjs - react redux - 重置其他状态
- json - 我如何知道 JSON 字符串包含一个没有提供任何键的数组(在 Java 中)?