2011年11月6日 星期日

Android學習_Spinner改變字型大小(TextSize)

在Android2.X版時,Spinner會跳出一個類似遮罩的選單,方便使用者點選,這時候有些人會覺得該選單字體太大,會希望可以做一些改變。

但到了Android3.X版時,Spinner的預設模式卻變成像網頁的下拉式選單一樣,對於手指較大的人在操作上卻顯得有些不太方便,所以反而會希望將該字體變大。

總之,不管是變大變小,Spinner改變字體時有兩個部分:

第一部分為顯示選單值的地方,第二部分則是選單的項目。

改變方式:
1. 準備一個TextView為Base的XML檔案

<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
style="?android:attr/spinnerDropDownItemStyle"
android:textSize="25sp" />


2. 指定spinner樣式時,使用上述XML檔
A. 改變第一部分字體:(big_spinner_dropdown_item為上述檔案)

SimpleCursorAdapter adapter = new SimpleCursorAdapter(context, R.layout.big_spinner_dropdown_item,cursor, new String[] { PutFieldName }, new int[] {android.R.id.text1});


B. 改變第二部分字體:

adapter.setDropDownViewResource(R.layout.big_spinner_dropdown_item);


所以若是剛好用cursor放入spinner內,又希望兩部分字體都變大:

if (cursor.getCount()>0)
{
cursor.moveToFirst();
SimpleCursorAdapter adapter = new SimpleCursorAdapter(context, R.layout.big_spinner_dropdown_item,cursor, new String[] { PutFieldName }, new int[] {android.R.id.text1});
adapter.setDropDownViewResource(R.layout.big_spinner_dropdown_item);
spinner.setAdapter(adapter);
}

2 則留言:

鄧凱安 提到...

在layout裡新增xml檔嗎?

ola的家 提到...

是的,在layout資料夾裡面新增。

張貼留言