Search code examples
androidandroid-layoutstylesandroid-spinner

Spinner text size does not change?


I could not change spinner's textsize or colour with the code below:

<Spinner 
    android:id="@+id/spinner1"
    style="@style/submitspinner"
    android:layout_weight="2"
    android:entries="@array/a_code"
    android:prompt="@string/p_code" />

style:

<style name="submitspinner" parent="@android:TextAppearance.Widget.TextView.SpinnerItem">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">match_parent</item>
    <item name="android:layout_margin">10sp</item> 
    <item name="android:textColor">@android:color/holo_blue_dark</item>
    <item name="android:textSize">@dimen/pt</item> 
</style>

It looks same, how can I increase textsize and change colour of the spinner?


Solution

  • What you should do for custom Spinners is create a single XML that will act as your template for the string in the Spinner, like so:

    <?xml version="1.0" encoding="UTF-8"?>
    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
       android:id="@+id/standard_spinner_format"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:textSize="@dimen/pt"
       android:textColor="@android:color/holo_blue_dark"/>
    

    Then when you create your Spinner adapter in java do the following:

    ArrayAdapter<CharSequence> typeAdapter = ArrayAdapter.createFromResource(getActivity(), 
              R.array.my_spinner_array, R.layout.custom_xml_spinner_layout); //change the last argument here to your xml above.
        typeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);