android使用样式更改Spinner Button的外观

时间:2012-05-18 16:54:19

标签: android styles spinner

我试图改变我的微调按钮的样式(不是项目!)。不知怎的,它没有得到应用:

 <style name="myStyle"  parent="@android:style/Widget.TextView.SpinnerItem">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">50dip</item>
    <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
    <item name="android:textStyle">italic</item>
 </style>

<Spinner 
     android:id="@+id/widget_type_spinner"
     style="@style/myStyle"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"/>

另一方面,如果我在我的主题中定义它,它就像一个魅力:

<style name="Standard" parent="android:style/Theme.Black">
    <item name="android:spinnerItemStyle">@style/myStyle</item> 
</style>

但我不希望所有微调器出现这种行为...... 有任何想法吗?

1 个答案:

答案 0 :(得分:0)

我认为你可以这样做:

onCreate()

Spinner spinner = (Spinner) findViewById(R.id.widget_type_spinner);
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this, R.layout.my_spinner,getResources().getStringArray(R.array.array_of_strings));
spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(categorySpinnerAdapter);

在您的布局中(在布局文件夹中)

<Spinner 
 android:id="@+id/widget_type_spinner"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"/>

<强> my_spinner.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/textview_spinner"
    android:layout_width="wrap_content"
    android:layout_height="50dip"
    android:textAppearance="@android:style/TextAppearance.Small"
    android:textStyle="italic" >
</TextView>