android Spinner控件设置下拉状态的条目item字体颜色
来源:互联网 发布:apache转发至python 编辑:程序博客网 时间:2024/06/11 17:50
Spinner有2种状态,第一种是收缩的情况下只显示第一条,第二种是下拉状态显示所有的条目。可以通过自定义adapter类客户化不同条目的颜色。
//创建列表ArrayList<String> sortedFN=new ArrayList<String>();for (int i = 0; i < FileNMstrs.size(); i++) { sortedFN.add(FileNMstrs.get(tranferSequence(i)));}//初始化适配器SpinnerAdapter arr_adapter= new SpinnerAdapter(MapActivity.this, android.R.layout.simple_spinner_item, android.R.id.text1,sortedFN);//设置下拉样式arr_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//加载适配器fileListSpinner.setAdapter(arr_adapter);
在SpinnerAdapter中定义颜色,自定义的SpinnerAdapter可以继承ArrayAdapter也可以继承simpleAdapter,根据需要显示的数据来选择。要显示的数据是列表就选择arrayadapter,如果数据是键值对就选择map。import android.content.Context;import android.graphics.Color;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.TextView;import com.example.myapplication.storage.ColorChanger;import java.util.ArrayList;/** * Created by Administrator on 2017/8/9. */public class SpinnerAdapter extends ArrayAdapter { private LayoutInflater infalter; private int resource; private int textViewResourceId; private ArrayList<String> target; public SpinnerAdapter(Context context, int resource, int textViewResourceId, ArrayList<String> objects) { super(context, resource, textViewResourceId, objects); this.resource = resource; this.textViewResourceId = textViewResourceId; target = objects; infalter = LayoutInflater.from(context); } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) convertView = infalter.inflate(resource, null); TextView text = (TextView) convertView .findViewById(textViewResourceId); text.setText(target.get(position)); text.setTextColor(ColorChanger.nextColor(position)); return convertView; } @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { if (convertView == null) convertView = infalter.inflate( android.R.layout.simple_list_item_1, null); TextView text = (TextView) convertView .findViewById(android.R.id.text1); text.setText(target.get(position)); text.setTextColor(ColorChanger.nextColor(position)); return convertView; }}getView
getview是没有下拉的情况下,显示出来的内容,就是第一行。而getDropDownView是下拉情况下,显示出来所有的行。要设置下拉情况下不同行的风格style,需要写getDropDownView。网上很多教程都是只修改getview,其实不对。
最后说一下android.R.layout.simple_spinner_item, android.R.id.text1这都是android自带的控件。simple_spinner_item只有一个控件,id就是text1的textview。所以getDropDownView中按照simple_spinner_item来创建convertView,然后按照id.text1来找到textview,设置text内容和颜色。
有兴趣的可以找找源码。
阅读全文
0 0
- android Spinner控件设置下拉状态的条目item字体颜色
- Android关于Spinner的使用(更换字体颜色,下拉列表的条目布局)
- Android设置Spinner的字体和颜色
- android spinner 选中后显示字体的颜色设置
- android设置Spinner字体颜色,格式,大小
- Android 自定义Spinner显示条目与下拉框的布局
- Android 下拉控件:Spinner
- 设置控件的颜色,字体
- Android下拉框控件Spinner的使用
- Android下拉框控件Spinner的使用
- Android下拉框控件Spinner的使用
- Android下拉框控件Spinner的使用
- android:Spinner(下拉框)控件的使用
- android 设置控件的颜色字体的方法
- 设置Button的字体颜色状态选择器
- android--Spinner(菜单下拉控件)
- Android 下拉列表Spinner控件
- android 控件 下拉列表(Spinner)
- hdu 6097 Mindis(几何反演)
- eclipse java EE经典绿色版 以及连接远程数据库java代码
- 在tomcat调试成功后在浏览器进入页面的路径
- Mindis(hdu6097)
- HDU Billboard(线段树)
- android Spinner控件设置下拉状态的条目item字体颜色
- 笔试笔记(五)!
- 51nod 1433 0和5
- 你应该知道的25个非常有用的CSS技巧
- Elastic-Job 使用篇
- mysql创建外键失败原有总结
- 哈哈,我开始写博客了
- html5中文本与图像
- 实现JOSN与Xml的相互转换