How to change the text background color of a opene

2019-01-20 04:51发布

问题:

I set this XML Style in my app, but when I open a Spinner I cant see the text. This is where searching of information takes place.I don't really know what I am doing wrong.

This is the XML Style:

<style name="Theme.Color" parent="android:Theme">
    <item name="android:textColor">#FFFFFF</item>
    <item name="android:windowBackground">@drawable/fondo2</item>
</style>

This the XML of the Spinner:

            <Spinner
            android:id="@+id/spAnswers"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tvSecurity"
            android:entries="@array/box" />

And when I open a Spinner this happens, I cant see the text (text color is white).

I need to set the text color to another of the spinner only when it is open or the background of the text changes.

回答1:

While Creating Adapter for your Spinner give custom layout instead of predefined one

Create xml named 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:layout_width="match_parent" 
    android:textColor="@color/black"
    android:textSize="12dp"
    android:layout_height="36dp" 
    android:gravity="left|center_vertical"/> 

Here you can change the color Text size and width and height of the Elements in the spinner by modifying this textview

Use it like this while creating Adapter

 ArrayAdapter<String> adapter=new ArrayAdapter<String>(context, R.layout.spinner_row,yourlist);

The Last task is routine

spinner.setAdapter(adapter);

I hope this will help you.