我相信Pragnani的答案是正確應用樣式的微調,但是這是我如何實際執行它...
-In RES /佈局,創建一個只包含textview的XML佈局,如下所示。這個textview有我想要的自定義大小/填充。
spinner_row.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/cust_view"
android:minWidth="246dp"
android:layout_width="match_parent"
android:layout_height="48dp"
android:gravity="left|center_vertical"
android:textColor="@android:color/black"
android:textSize="20sp"
android:paddingLeft="4dp"
android:textIsSelectable="false"/>
然後在我在我的數據加載到離心器,當我創建用於我的紡絲器的ArrayAdapter活性,我將自定義的TextView作爲第二個參數,以一個ArrayAdapter構造函數。
Spinner spinClockInWorkSite = (Spinner)findViewById(R.id.spinClockInWorkSite);
ArrayAdapter spinClockInWorkSiteAdapter = new ArrayAdapter(this, R.layout.spinner_row, this.workSiteList);
spinClockInWorkSite.setAdapter(spinClockInWorkSiteAdapter);
因此,現在微調使用我在spinner_row.xml中爲列表中的每個項目定義的自定義文本視圖。
這最終比我更喜歡玩這種風格。
來源
2013-03-28 17:48:52
Jim
我試過這個,但它似乎沒有做任何事情。我將樣式放在我的res/values文件夾中的styles.xml文件中。我嘗試將填充值設置爲50,這樣我就可以確定發生了變化,沒有任何變化。 – Jim 2013-03-25 20:31:29
@Jim但風格的父應該是android:style/Widget.TextView.SpinnerItem – Pragnani 2013-03-26 04:35:48
我相信這是正確的答案,但有一個小錯誤,它顯示style =「@ style/spinnerStyleView」,但代碼示例中的樣式上面實際上是命名爲spinnerStyle。我在res \ layout中使用了一個不同的路徑,只用了一個textview,並在XML中定義了textview的大小和填充。然後,當爲我的微調創建適配器時,我通過自定義textview作爲ArrayAdapter構造函數中的第二個參數,並且它爲列表中的每個項目使用我的自定義textview。我認爲這將是一件困難的事情,但實際上它非常簡單。 – Jim 2013-03-28 17:41:03