步驟一:
在res-->layout內新增一個myspinner.xml的android xml檔,貼上下列程式碼
myspinner.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<? xml version = "1.0" encoding = "utf-8" ?> android:id = "@android:id/text1" android:layout_width = "match_parent" android:layout_height = "wrap_content" android:ellipsize = "marquee" android:gravity = "center" android:paddingLeft = "8dip" android:singleLine = "true" android:textColor = "#8B008B" android:textSize = "32sp" android:textStyle = "bold" > </ TextView > |
步驟二:
回到java程式碼,假設我們已經在main.xml中加入一個下拉選單spinner1了
基本的下拉選單都是這樣寫的:
1
2
3
4
5
6
7
8
|
//將可選内容與ArrayAdapter連接起來 adapter = new ArrayAdapter<String>( this ,android.R.layout.simple_spinner_item,Blood_group); //對應控件 spinner = (Spinner) findViewById(R.id.spinner1); //設置下拉列表的風格 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //將adapter 添加到spinner中 spinner.setAdapter(adapter); |
換成下面這個樣子:
1
2
3
4
5
6
7
8
|
//將可選内容與ArrayAdapter連接起來 adapter = new ArrayAdapter<String>( this ,R.layout.myspinner,Blood_group); //對應控件 spinner = (Spinner) findViewById(R.id.spinner1); //設置下拉列表的風格 adapter.setDropDownViewResource(R.layout.myspinner); //將adapter 添加到spinner中 spinner.setAdapter(adapter); |
為什麼有兩個地方是要換成myspinner的呢?
因為adapter是代表內容(也就是下拉時)
setDropDownViewResource是代表靜止未點選下拉時的樣式(感謝網友指教)
setDropDownViewResource是代表點選下拉時彈出的樣式,不加這個就話,下拉會跟會跟生成時一樣,想要下拉或靜止時兩個style就要加囉
執行後畫面
文字被我改為紫色、字體大小變32、置中對齊
這樣簡簡單單兩個步驟就能改變下拉選單的三種樣式設定了
以上介紹,謝謝各位!!
ps:貼上一些參數(spinner、adapter、Blood_group)的宣告,不然新手會對應不起來
1
2
3
|
private Spinner spinner; private ArrayAdapter<String> adapter; private static final String[] Blood_group={ "A型" , "B型" , "O型" , "AB型" , "其他" }; |
文章出自 http://jim690701.blogspot.com/2012/12/androidspinner.html
全站熱搜
留言列表