2016年7月5日 星期二

Android下 spinner 更換字體大小、顏色

出處


Android下拉選單(spinner)應用(五) - 更換字體大小、顏色



一般網路上都會教一些基本下拉選單(spinner),套用simple_spinner_dropdown_item或

simple_spinner_item這些基本模板,但有時想改變Spinner內的文字大小及顏色又不知從哪下手

今天就來教大家怎麼改變Spinner內的文字大小及顏色,當然也包含對齊方式

我用比較簡單的方法直接由Layout下手去修改Spinner內文字的字體大小及顏色

步驟一:

在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是代表點選下拉時彈出的樣式

執行後畫面



文字被我改為紫色、字體大小變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型","其他"};

沒有留言:

張貼留言