Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更改Android微调器弹出窗口中所有项目的textColor?_Android_Spinner_Textcolor - Fatal编程技术网

如何更改Android微调器弹出窗口中所有项目的textColor?

如何更改Android微调器弹出窗口中所有项目的textColor?,android,spinner,textcolor,Android,Spinner,Textcolor,我正在开发一个向用户展示两个图形对象的应用程序。每个对象都与相应的微调器相关联,用户可以从中选择一个属性。触摸一个微调器将停用另一个微调器(这在spinner.setEnabled之外处理) 该视图包含一个seekbar,用户可以从中控制应用于最近选定属性的值范围 颜色是属性之一。随着seekbar的移动,我可以更改弹出项目的背景色。我需要将所有项目的文本颜色设置为浅背景色为黑色,所有深色为白色 if ( pos == object.COLOR_INDEX) {

我正在开发一个向用户展示两个图形对象的应用程序。每个对象都与相应的微调器相关联,用户可以从中选择一个属性。触摸一个微调器将停用另一个微调器(这在spinner.setEnabled之外处理)

该视图包含一个seekbar,用户可以从中控制应用于最近选定属性的值范围

颜色是属性之一。随着seekbar的移动,我可以更改弹出项目的背景色。我需要将所有项目的文本颜色设置为浅背景色为黑色,所有深色为白色

    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
的下拉资源?