原生的Spring 控件是无法更改字体和颜色的...
从下面的代码可以看出...红色的标注显示使用的是Android默认的布局..代码来自于Apidemo.
1 Spinner s1 = (Spinner) findViewById(R.id.spinner1);
2 ArrayAdapter < CharSequence > adapter = ArrayAdapter.createFromResource(
3 this , R.array.colors, android.R.layout.simple_spinner_item);
4 adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
5 s1.setAdapter(adapter);
6 s1.setOnItemSelectedListener(
7 new OnItemSelectedListener() {
8 public void onItemSelected(
9 AdapterView <?> parent, View view, int position, long id) {
10 showToast( " Spinner1: position= " + position + " id= " + id);
11 }
12
13 public void onNothingSelected(AdapterView <?> parent) {
14 showToast( " Spinner1: unselected " );
15 }
16 });
通过查找源码...看到android.R.layout.simple_spinner_dropdown_item.xml
看下面的XML.
1 <? xml version="1.0" encoding="utf-8" ?>
2 <!--
3
19 -->
20 < CheckedTextView xmlns:android ="http://schemas.android.com/apk/res/android"
21 android:id ="@android:id/text1"
22 style ="?android:attr/spinnerDropDownItemStyle"
23 android:singleLine ="true"
24 android:layout_width ="fill_parent"
25 android:layout_height ="?android:attr/listPreferredItemHeight"
26 android:ellipsize ="marquee" />
里面实际上是一个CheckedTextView,而CheckedTextView,又继承自TextView.所以我们可以自己定义一个只有TextView的XML文件...
里面可以随意设置TextView的属性..比如字体...颜色等等.... 然后替换adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);的xml...这样就能改变字体之类的属性了...
至此...相信大家都应该能明白了吧...
自定义的TextView可如下:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:gravity="left"
android:paddingLeft="8dip"
android:textStyle="bold"
android:textColor="#FFFFFF"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee" />
1 <? xml version="1.0" encoding="utf-8" ?>
2 <!--
3
19 -->
20 < CheckedTextView xmlns:android ="http://schemas.android.com/apk/res/android"
21 android:id ="@android:id/text1"
22 style ="?android:attr/spinnerDropDownItemStyle"
23 android:singleLine ="true"
24 android:layout_width ="fill_parent"
25 android:layout_height ="?android:attr/listPreferredItemHeight"
26 android:ellipsize ="marquee" />
里面实际上是一个CheckedTextView,而CheckedTextView,又继承自TextView.所以我们可以自己定义一个只有TextView的XML文件...
里面可以随意设置TextView的属性..比如字体...颜色等等.... 然后替换adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);的xml...这样就能改变字体之类的属性了...
至此...相信大家都应该能明白了吧...