关于spinner控件有很多特殊的样式甚至是表现的很夸张的样式,这里就仅仅通过更换系统自带的xml样式来试验各种spinner样式效果。
首先在工程里创建最简单的spinner:
01 public void onCreate(Bundle savedInstanceState) {
02 super.onCreate(savedInstanceState);
03 // setContentView(R.layout.main);//不用xml
04
05 Spinner sp=new Spinner(this);
06
07 ArrayAdapter< String> adapter =
08 new ArrayAdapter< String>( this,
09 android.R.layout.simple_spinner_item);
10 adapter.add("red");
11 adapter.add("green");
12 adapter.add("yellow");
13 adapter.add("black");
14 adapter.add("write");
15 adapter.add("blue");
16
17 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
18
19 sp.setAdapter(adapter);
20
21 LinearLayout l=new LinearLayout(this);
22 LinearLayout.LayoutParams ll=new LinearLayout.LayoutParams(
23 LinearLayout.LayoutParams.WRAP_CONTENT,
24 LinearLayout.LayoutParams.WRAP_CONTENT
25 );
26 l.addView(sp,ll);
27
28 setContentView(l);
29
30
31
32 }
02 super.onCreate(savedInstanceState);
03 // setContentView(R.layout.main);//不用xml
04
05 Spinner sp=new Spinner(this);
06
07 ArrayAdapter< String> adapter =
08 new ArrayAdapter< String>( this,
09 android.R.layout.simple_spinner_item);
10 adapter.add("red");
11 adapter.add("green");
12 adapter.add("yellow");
13 adapter.add("black");
14 adapter.add("write");
15 adapter.add("blue");
16
17 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
18
19 sp.setAdapter(adapter);
20
21 LinearLayout l=new LinearLayout(this);
22 LinearLayout.LayoutParams ll=new LinearLayout.LayoutParams(
23 LinearLayout.LayoutParams.WRAP_CONTENT,
24 LinearLayout.LayoutParams.WRAP_CONTENT
25 );
26 l.addView(sp,ll);
27
28 setContentView(l);
29
30
31
32 }
一。ArrayAdapter< String> adapter =
new ArrayAdapter< String>( this,
android.R.layout.simple_spinner_item);
这里面的第二个参数是android.R系统自带的xml样式,我们更换这个时就会看到生成的spinner的直观样式如下:
![](https://i-blog.csdnimg.cn/blog_migrate/7fab869d2908e550458b0764d91f8960.jpeg)
如果换成android.R.layoutbrowser_link_context_header那么样式变为:
![](https://i-blog.csdnimg.cn/blog_migrate/b112bb9e1d09ba1242c6717d88f0fd5b.jpeg)
同理:android.R.pinner_dropdown:
![](https://i-blog.csdnimg.cn/blog_migrate/495683a5096391e61b5f2627c5e5a720.jpeg)
android.R.preference_category:
![](https://i-blog.csdnimg.cn/blog_migrate/00757d3cb73ebf202c26c7806b9bf2fc.jpeg)
android.R.simple_spinner_item
![](https://i-blog.csdnimg.cn/blog_migrate/04c31dac105e680de428517d0741f050.jpeg)
android.R.select_dialog_item:
![](https://i-blog.csdnimg.cn/blog_migrate/343d7b3123c2df880fa91e3097811952.jpeg)
android.R.select_dialog_multichoice
![](https://i-blog.csdnimg.cn/blog_migrate/f7a5aaca4803782cae8f00bd340e2f3d.jpeg)
android.R.select_dialog_singlechoice
![](https://i-blog.csdnimg.cn/blog_migrate/5363b0c2f9c1a3c78a9d68c337177563.jpeg)
android.R.simple_dropdown_item_1line
![](https://i-blog.csdnimg.cn/blog_migrate/f997023a30e9a89775a8345eb9a615b0.jpeg)
android.R.simple_expandable_list_item_1
![](https://i-blog.csdnimg.cn/blog_migrate/4806d94548f4f812b3999556b1c751cd.jpeg)
android.R.simple_gallery_item
![](https://i-blog.csdnimg.cn/blog_migrate/172766ed8b10d4196ed6dd7d977b5a4f.jpeg)
android.R.simple_list_item_1
![](https://i-blog.csdnimg.cn/blog_migrate/c5c878bc4afc7fb5df1a700234eb8aa9.jpeg)
android.R.simple_list_item_checked
![](https://i-blog.csdnimg.cn/blog_migrate/ab1a271c794d5a0c64d52ceb9de2f99a.jpeg)
android.R.simple_list_item_multiple_choice
![](https://i-blog.csdnimg.cn/blog_migrate/8d5583f94ec91758fbd3b64f151abb98.jpeg)
android.R.simple_list_item_single_choice
![](https://i-blog.csdnimg.cn/blog_migrate/86b7d17cc969377f40fe0836b3985054.jpeg)
android.R.simple_spinner_dropdown_item
![](https://i-blog.csdnimg.cn/blog_migrate/5fce7c0573e3b118e614fd62d25752cd.jpeg)
android.R.simple_spinner_item
![](https://i-blog.csdnimg.cn/blog_migrate/279720b26c32451799f3b52d662039d2.jpeg)
android.R.test_list_item
![](https://i-blog.csdnimg.cn/blog_migrate/5bc2560a63a40624e03c10a5b97018cf.jpeg)
然后还有自定义的spinner.xml:
<TextView xmlns:android=" http://schemas.android.com/apk/res/android"
android:id="@+id/text1"
android:layout_width="60px"
android:layout_height="wrap_content"
android:singleLine="true"
style="?android:attr/spinnerItemStyle"
/>
![](https://i-blog.csdnimg.cn/blog_migrate/8f8807f0c02777293ad1b443110bca38.jpeg)
接下来我们通过更换adapter.setDropDownViewResource(android.R.layout.test_list_item);
里面的xml参数来看一看弹出的样式,有些会报错不能弹出的就不提了呵呵:
android.R.browser_link_context_header对应的样式为:
![](https://i-blog.csdnimg.cn/blog_migrate/14fc3570088059140a95addb277f90be.jpeg)
preference_category对应的:
![](https://i-blog.csdnimg.cn/blog_migrate/50f66ec8e152485391c05d336569a130.jpeg)
select_dialog_item:
![](https://i-blog.csdnimg.cn/blog_migrate/f36fb5a56246922350bd42a5f15fa2a5.jpeg)
select_dialog_multichoice:多选样式,可惜不能多选啊
![](https://i-blog.csdnimg.cn/blog_migrate/de79af9042af2b3e0284b565fbd8e1c6.jpeg)
select_dialog_singlechoice:
![](https://i-blog.csdnimg.cn/blog_migrate/4cad166b78b649d8c9af5c4d5fb05744.jpeg)
simple_dropdown_item_1line:
![](https://i-blog.csdnimg.cn/blog_migrate/87b90beb3c119ddcf25924d92ac5d2e0.jpeg)
simple_expandable_list_item_1:
![](https://i-blog.csdnimg.cn/blog_migrate/406b8208b32ee13d097c0ce0f58c123e.jpeg)
simple_gallery_item:
![](https://i-blog.csdnimg.cn/blog_migrate/fff3c5c181fe9a9ddd6908a88ad4d4d2.jpeg)
simple_list_item_1:
![](https://i-blog.csdnimg.cn/blog_migrate/cdbc4c3488ddeff2b3352167b89e592c.jpeg)
simple_list_item_checked:
![](https://i-blog.csdnimg.cn/blog_migrate/3f823aaf89189f6f56cc995633cfb08c.jpeg)
simple_list_item_multiple_choice:多选按钮,没作用呵呵
![](https://i-blog.csdnimg.cn/blog_migrate/153473dbf1895bae1b36a1ed47921224.jpeg)
simple_list_item_single_choice:
![](https://i-blog.csdnimg.cn/blog_migrate/dc2b05209232769de10bac44e02b0f3a.jpeg)
simple_spinner_dropdown_item:
![](https://i-blog.csdnimg.cn/blog_migrate/34a755fb17e301ee1981a51e16f7934c.jpeg)
simple_spinner_item:
![](https://i-blog.csdnimg.cn/blog_migrate/02a3a8d4c8e344f988d97c66843f03f1.jpeg)
test_list_item:
![](https://i-blog.csdnimg.cn/blog_migrate/b6cfddd3e5a2b25409bae7bf79264dd8.jpeg)