java – Android Spinner每行的背景不同
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Android Spinner每行的背景不同,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2392字,纯文字阅读大概需要4分钟。
内容图文
![java – Android Spinner每行的背景不同](/upload/InfoBanner/zyjiaocheng/759/e63dabdf32ed4e42a1e781faedbd3051.jpg)
我知道这个话题已被多次解决,我发现了几个这样的问题,但我不能满足我的需要.我希望在微调器中有一个颜色列表.我这样做了,但我的旋转器是空的.
在我的OnCreate()中:
spinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.androidcolors, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
在文件夹值中,我创建了一个文件colors.xml:
<resources>
<item name="blue" type="color">#FF33B5E5</item>
<item name="purple" type="color">#FFAA66CC</item>
<item name="green" type="color">#FF99CC00</item>
<item name="orange" type="color">#FFFFBB33</item>
<item name="red" type="color">#FFFF4444</item>
<item name="darkblue" type="color">#FF0099CC</item>
<item name="darkpurple" type="color">#FF9933CC</item>
<item name="darkgreen" type="color">#FF669900</item>
<item name="darkorange" type="color">#FFFF8800</item>
<item name="darkred" type="color">#FFCC0000</item>
<integer-array name="androidcolors">
<item>@color/blue</item>
<item>@color/purple</item>
<item>@color/green</item>
<item>@color/orange</item>
<item>@color/red</item>
<item>@color/darkblue</item>
<item>@color/darkpurple</item>
<item>@color/darkgreen</item>
<item>@color/darkorange</item>
<item>@color/darkred</item>
</integer-array>
</resources>
解决方法:
这很简单,你必须这样做
1.为微调器编写自己的自定义适配器,这是你如何做到的
class SpinnerAdapter extends BaseAdapter
{
ArrayList<Integer> colors;
Context context;
public SpinnerAdapter(Context context)
{
this.context=context;
colors=new ArrayList<Integer>();
int retrieve []=context.getResources().getIntArray(R.array.androidColors);
for(int re:retrieve)
{
colors.add(re);
}
}
@Override
public int getCount()
{
return colors.size();
}
@Override
public Object getItem(int arg0)
{
return colors.get(arg0);
}
@Override
public long getItemId(int arg0)
{
return arg0;
}
@Override
public View getView(int pos, View view, ViewGroup parent)
{
LayoutInflater inflater=LayoutInflater.from(context);
view=inflater.inflate(android.R.layout.simple_spinner_dropdown_item, null);
TextView txv=(TextView)view.findViewById(android.R.id.text1);
txv.setBackgroundColor(colors.get(pos));
txv.setTextSize(20f);
txv.setText("Text "+pos);
return view;
}
}
2.像这样设置适配器
spnColors=(Spinner)findViewById(R.id.spnColor);
spnColors.setAdapter(new SpinnerAdapter(this));
最终结果是
请接受答案,如果有帮助!
内容总结
以上是互联网集市为您收集整理的java – Android Spinner每行的背景不同全部内容,希望文章能够帮你解决java – Android Spinner每行的背景不同所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。