2016-04-17 77 views
0

我試圖通過微調應用自定義樣式:應用自定義樣式的微調

Spinner classClassification = (Spinner) findViewById(R.id.classClassification); 
Resources res = getResources(); 
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.spinner_custom, res.getStringArray(classArrayResource)); 
arrayAdapter.setDropDownViewResource(R.layout.spinner_dropdown_layout); 
classClassification.setAdapter(arrayAdapter); 

in spinner_custom:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="?android:attr/spinnerItemStyle" 
    android:singleLine="true" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:ellipsize="marquee" 
    android:textAlignment="inherit"/> 

in spinner_dropdown_layout:

<?xml version="1.0" encoding="utf-8"?> 
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="@style/spinnerDropDownItemStyle" 
    android:singleLine="true" 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/dimen_5" 
    android:ellipsize="marquee" /> 

而且在styles

<!--Spinner Style--> 
<style name="spinnerItemStyle" parent="android:Widget.TextView.SpinnerItem"> 
    <item name="android:layout_height">40sp</item> 
    <item name="android:textSize">55sp</item> 
</style> 

<style name="spinnerDropDownItemStyle" parent="android:TextAppearance.Widget.TextView.SpinnerItem"> 
    <item name="android:layout_height">40sp</item> 
    <item name="android:textSize">55sp</item> 
</style> 

但是上面的變化在結果中沒有變化,我做錯了什麼?

回答

0

我最好的猜測是問題出在spinner_custom的TextView中。你應該設置樣式等於@ style/spinnerDropDownItemStyle

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/text1" 
style:="@style/spinnerDropDownItemStyle" 
android:singleLine="true" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:ellipsize="marquee" 
android:textAlignment="inherit"/>