关于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的直观样式如下:
如果换成android.R.layoutbrowser_link_context_header那么样式变为:
同理:android.R.pinner_dropdown:
android.R.preference_category:
android.R.simple_spinner_item
android.R.select_dialog_item:
android.R.select_dialog_multichoice
android.R.select_dialog_singlechoice
android.R.simple_dropdown_item_1line
android.R.simple_expandable_list_item_1
android.R.simple_gallery_item
android.R.simple_list_item_1
android.R.simple_list_item_checked
android.R.simple_list_item_multiple_choice
android.R.simple_list_item_single_choice
android.R.simple_spinner_dropdown_item
android.R.simple_spinner_item
android.R.test_list_item
然后还有自定义的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"
/>
接下来我们通过更换adapter.setDropDownViewResource(android.R.layout.test_list_item);
里面的xml参数来看一看弹出的样式,有些会报错不能弹出的就不提了呵呵:
android.R.browser_link_context_header对应的样式为:
preference_category对应的:
select_dialog_item:
select_dialog_multichoice:多选样式,可惜不能多选啊
select_dialog_singlechoice:
simple_dropdown_item_1line:
simple_expandable_list_item_1:
simple_gallery_item:
simple_list_item_1:
simple_list_item_checked:
simple_list_item_multiple_choice:多选按钮,没作用呵呵
simple_list_item_single_choice:
simple_spinner_dropdown_item:
simple_spinner_item:
test_list_item: