如何更改Android微调器弹出窗口中所有项目的textColor?
我正在开发一个向用户展示两个图形对象的应用程序。每个对象都与相应的微调器相关联,用户可以从中选择一个属性。触摸一个微调器将停用另一个微调器(这在spinner.setEnabled之外处理) 该视图包含一个seekbar,用户可以从中控制应用于最近选定属性的值范围 颜色是属性之一。随着seekbar的移动,我可以更改弹出项目的背景色。我需要将所有项目的文本颜色设置为浅背景色为黑色,所有深色为白色如何更改Android微调器弹出窗口中所有项目的textColor?,android,spinner,textcolor,Android,Spinner,Textcolor,我正在开发一个向用户展示两个图形对象的应用程序。每个对象都与相应的微调器相关联,用户可以从中选择一个属性。触摸一个微调器将停用另一个微调器(这在spinner.setEnabled之外处理) 该视图包含一个seekbar,用户可以从中控制应用于最近选定属性的值范围 颜色是属性之一。随着seekbar的移动,我可以更改弹出项目的背景色。我需要将所有项目的文本颜色设置为浅背景色为黑色,所有深色为白色 if ( pos == object.COLOR_INDEX) {
if ( pos == object.COLOR_INDEX) {
//change spinner Background and Text color
spinner.setBackgroundColor(Colors.BACKGROUND[objectCurrent.getParams(pos)]);
TextView v ; int ct ;
for(int i=0; i<(ct=spinner.getChildCount()); ++i) {
v= (TextView)spinner.getChildAt(i);
v.setTextColor(Colors.FOREGROUND[objectCurrent.getParams(pos)]);
}
ColorDrawable drawable=(ColorDrawable) spinner.getBackground() ;
spinner.setPopupBackgroundDrawable(drawable);
spinner.setSelection(0); spinner.setSelection(pos);
}
if(pos==object.COLOR\u索引){
//更改微调器背景和文本颜色
spinner.setBackgroundColor(Colors.BACKGROUND[objectCurrent.getParams(pos)]);
文本视图v;int-ct;
对于(int i=0;i这显然起到了作用:
Resources res=getResources();
final List<String> spinnerItems=new ArrayList<String>(Arrays.asList(res.getStringArray(R.array.spin_settings)));
ArrayAdapter<String> aa=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,spinnerItems){
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
View v = super.getDropDownView(position, convertView,
parent);
((TextView) v).setTextColor(Colors.FOREGROUND[obj.getParams(param.COLOR_INDEX)]);
((TextView) v).setBackgroundColor(Colors.BACKGROUND[obj.getParams(param.COLOR_INDEX)]);
return v;
}
};
aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerLeft.setAdapter(aa);
spinnerRight.setAdapter(aa);
Resources res=getResources();
最终列表spinnerItems=newArrayList(Arrays.asList(res.getStringArray(R.array.spin_设置));
ArrayAdapter aa=新的ArrayAdapter(这个,android.R.layout.simple\u spinner\u项目,spinnerItems){
公共视图getDropDownView(int位置,视图转换视图,
视图组(父级){
视图v=super.getDropDownView(位置、视图、,
父母);
(文本视图)v.setTextColor(Colors.FOREGROUND[obj.getParams(param.COLOR_INDEX)]);
(文本视图)v.setBackgroundColor(Colors.BACKGROUND[obj.getParams(param.COLOR_INDEX)]);
返回v;
}
};
aa.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
喷丝头左。设置适配器(aa);
喷丝头右侧。设置适配器(aa);
getDropDownView事件似乎针对下拉列表中的每个项目都会引发。为什么要将android.R.layout.simple\u spinner\u item
传递给构造函数,然后设置simple\u spinner\u dropdown\u item
的下拉资源?