2015-09-08 76 views
3

我已將一些自定義樣式添加到Android微調器。我正在嘗試提示較小,但將項目大小縮小。我的代碼看起來像下面:spinnerDropDownItemStyle不起作用的Android微調器自定義樣式

theme.xml

<style name="Theme.MyApp" parent="@android:style/Theme.Holo.Light.DarkActionBar"> 
. 
. 
. 
<item name="android:spinnerItemStyle">@style/spinnerItemStyle</item> 
<item name="android:spinnerDropDownItemStyle">@style/spinnerDropDownItemStyle</item> 
</style> 
. 
. 
. 
<style name="spinnerItemStyle"> 
     <item name="android:padding">10dp</item> 
     <item name="android:textSize">20sp</item> 
     <item name="android:textColor">#000000</item> 
</style> 
<style name="spinnerDropDownItemStyle"> 
     <item name="android:padding">20dp</item> 
     <item name="android:textSize">30sp</item> 
     <item name="android:textColor">#000000</item> 
</style> 

現在我能夠設置spinnerItemStyle正常,但一些如何風格spinnerDropDownItemStyle是沒有任何效果,它不工作。任何線索爲什麼會發生這種情況?我希望我的下拉項目的文字大小大於提示項目的大小。

+0

有點澄清你的問題。你想讓你的下拉項目被定製? –

+1

不要與微調這一點。創建您的佈局是可見的。點擊該佈局後,打開包含您的大布局的List的AlertDialog! –

+0

@Dr。 aNdRO感謝您的建議,它是一個很好的建議,但是您是否有任何線索可以解釋爲什麼上述樣式不起作用? – pcj

回答

2

發現這篇文章,解釋如何做到這一點: How to change a Spinner text size, color or overall style

您需要創建爲輸入項,並且下拉項的風格和添加。

自定義輸入微調:

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textSize="20sp" 
    android:textColor="#ff0000" /> 

添加風格:

ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, R.layout.spinner_item); 
spinner.setAdapter(adapter); 

自定義下拉列表中的項目:

<?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="?android:attr/listPreferredItemHeight" 
    android:ellipsize="marquee" 
    android:textColor="#aa66cc"/> 

添加樣式微調器:

ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, R.layout.spinner_item); 
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item); 
spinner.setAdapter(adapter);