如何減小微調器的字體大小?我已經將spinner的大小縮小到35px,因爲我的文本被削減了一半。微調器的文字大小
我該怎麼做?另外我不希望事先被選中。
默認文本應爲"select some value"
。
如何減小微調器的字體大小?我已經將spinner的大小縮小到35px,因爲我的文本被削減了一半。微調器的文字大小
我該怎麼做?另外我不希望事先被選中。
默認文本應爲"select some value"
。
經過一些測試,比子類化ArrayAdapter更容易。更改
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array,android.R.layout.simple_spinner_item);//this is from the tutorial, adapt with your line
這一行:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, R.layout.textview);
你只需要改變你使用微調的TextView的設計。我只是想這一點,作爲textview.xml的佈局:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:text="@+id/TextView01" android:id="@+id/TextView01"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="30sp"></TextView>
更改
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array,android.R.layout.simple_spinner_item);
到ArrayAdapter.createFromResource(this, R.array.planets_array, R.layout.textview);
只能更改默認情況下是在離心機上可見的項目。如果我們需要相同的樣式對離心器的所有物品被應用了,我們需要改變
adapter.setDropDownViewResource(android.R.layout.simple_spinner_item) to
adapter.setDropDownViewResource(R.layout.textview);
定義XML 2:R.layout.spinner_item,R.layout.spinner_dropdown_item
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:ellipsize="marquee"
android:textSize="18sp" >
</TextView>
spinner_dropdown_item.xml
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="48dp"
android:ellipsize="marquee"
android:textSize="18sp" />
--------------------------------更新--------------- -----------------------
其餘代碼:
final ActionBar actionBar = getActivity().getActionBar();
RelativeLayout relative = new RelativeLayout(getActivity());
Spinner spinner = new Spinner(getActivity());
spinner.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT));
relative.addView(spinner);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(relative);
// Set adapter and listener
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
一旦定義了這2個XML文件,它們如何被納入其餘的代碼? – Rich 2013-06-27 13:51:43
設置android:scaleX
和anrdoid:scaleY
似乎是一個簡單的方法來改變微調字體大小。
我對spinner並不瞭解,但如果我記得不錯,它會使用ArrayAdapter來顯示元素。然後我假設你可以繼承它,並重寫getView?這只是一個想法,我還沒有測試過。我會去看看它。 – Sephy 2010-07-25 13:37:12