关于spinner控件有很多特殊的样式甚至是表现的很夸张的样式,这里就仅仅通过更换系统自带的xml样式来试验各种spinner样式效果。
首先在工程里创建最简单的spinner:
需要更换的地方有两处:
一。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"
/>
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.main);//不用xml Spinner sp=new Spinner(this); ArrayAdapter< String> adapter = new ArrayAdapter< String>( this, android.R.layout.simple_spinner_item); adapter.add("red"); adapter.add("green"); adapter.add("yellow"); adapter.add("black"); adapter.add("write"); adapter.add("blue"); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); sp.setAdapter(adapter); LinearLayout l=new LinearLayout(this); LinearLayout.LayoutParams ll=new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT ); l.addView(sp,ll); setContentView(l); }