webentwicklung-frage-antwort-db.com.de

wie kann ich die Spinner-Hintergrundfarbe ändern?

Wie kann ich die Spinner-Hintergrundfarbe ändern?

 snapshot

diese schwarze farbe vom stil.

Wie kann ich die Stilfarbe für das Popup-Fenster ändern?

Ich möchte die Hintergrundfarbe Weiß anstelle von Schwarz ändern. Wie kann ich die Farbe ändern?

spinnner

<Spinner
    Android:id="@+id/spinner"
    Android:layout_width="100dp"
    Android:layout_marginTop="1dp"
    Android:layout_height="wrap_content"
    Android:background="@drawable/spinner_bg"
    Android:layout_marginLeft="1dp"/>

spinnerbg.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <item>
        <color Android:color="@color/InputBg1" />
    </item>
    <item Android:gravity="center_vertical|right" Android:right="8dp">
        <layer-list>
            <item Android:width="12dp" Android:height="12dp" Android:background="#fff" Android:gravity="center" Android:bottom="10dp">
                <rotate
                    Android:fromDegrees="45"
                    Android:toDegrees="45">
                    <shape Android:shape="rectangle">
                        <solid Android:color="#ffffff" />
                        <stroke Android:color="#ffffff" Android:width="1dp"/>
                    </shape>
                </rotate>
            </item>
            <item Android:width="20dp" Android:height="10dp" Android:bottom="21dp" Android:background="#fff" Android:gravity="center">
                <shape Android:shape="rectangle">
                    <solid Android:color="@color/InputBg1"/>
                </shape>
            </item>
        </layer-list>
    </item>
</layer-list>
2
user6313669

Einige Dinge müssen mit dem Anpassungs-Spinner wie folgt zu tun haben:

spinner_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item>

<color Android:color="@color/InputBg1" />
</item>
<item Android:gravity="center_vertical|right" Android:right="8dp">
<layer-list>
<item Android:width="12dp" Android:height="12dp"  Android:gravity="center" Android:bottom="10dp">
    <rotate
        Android:fromDegrees="45"
        Android:toDegrees="45">
        <shape Android:shape="rectangle">
            <solid Android:color="#ffffff" />
            <stroke Android:color="#ffffff" Android:width="1dp"/>
        </shape>
    </rotate>
</item>
<item Android:width="20dp" Android:height="10dp" Android:bottom="21dp" Android:gravity="center">
    <shape Android:shape="rectangle">
        <solid Android:color="@color/InputBg1"/>
    </shape>
</item>
</layer-list>
</item>
</layer-list>

spinner_item.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:id="@Android:id/text1"
    style="@style/spinnerItemStyle"
    Android:maxLines="1"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:textColor="#ffffff"
    Android:ellipsize="Marquee"
    Android:textAlignment="inherit"/>

spinner_dropdown_item.xml

<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView 
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:id="@Android:id/text1"
    style="@style/spinnerItemStyle"
    Android:maxLines="1"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:textColor="#000000"
    Android:ellipsize="Marquee"/>

spinner

<Spinner
Android:id="@+id/spinner"
Android:layout_width="100dp"
Android:popupBackground="#ffffff"
Android:layout_marginBottom="1dp"
Android:layout_height="wrap_content"
Android:textColor="#ffff"
style="@style/spinnerItemStyle"
Android:background="@drawable/spinner_bg"
Android:layout_marginLeft="1dp" />

style.xml

<style name="spinnerItemStyle" parent="@Android:style/Widget.Holo.DropDownItem.Spinner">
    <item name="Android:textColor">#000000</item>
</style>

Adapter für Spinner erstellen

ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, R.layout.spinner_item, categories);
// Drop down layout style - list view with radio button
dataAdapter.setDropDownViewResource(R.layout.spinner_dropdown_item);

 snapshot

0
user6313669

Versuchen Sie dies .. Ändern Sie den Stil in In res/values ​​/ styles.xml :: -

<resources>
<style name="AppBaseTheme" parent="Android:Theme.Light">
</style>

<style name="AppTheme" parent="AppBaseTheme">
    <item name="Android:spinnerDropDownItemStyle">@style/mySpinnerItemStyle</item>
</style>

<style name="mySpinnerItemStyle" parent="@Android:style/Widget.Holo.DropDownItem.Spinner">
    <item name="Android:textColor">@Android:color/white</item>
</style>
2
Nitin Patel

Erstellen Sie einen Stil wie diesen im Ordner res/values ​​/ styles.xml

<style name="spinnerItemStyle" parent="@Android:style/Widget.Holo.DropDownItem.Spinner">
    <item name="Android:textColor">Put text color code here</item>
    <item name="Android:background">Put background color code here</item>
</style>  

Bewerben Sie sich bei Ihrem Spinner

<Spinner
    Android:id="@+id/spinner"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    style="@style/spinnerItemStyle"/>
1
Murli Prajapati

Sie können die Hintergrundfarbe der Spinner in XML wie folgt festlegen:

Android:background="YOUR_HEX_COLOR_CODE"

wenn Sie das Dropdown-Menü mit Ihrem Drehfeld verwenden, können Sie die Hintergrundfarbe wie folgt festlegen:

Android:popupBackground="YOUR_HEX_COLOR_CODE"

Um die Textfarbe zu ändern Ich empfahl, benutzerdefiniertes Textlayout zu verwenden

Geben Sie dem Text in dieser Datei Ihre benutzerdefinierte Farbe und Größe.

spinner_item.xml

<?xml version="1.0" encoding="utf-8"?>

<TextView  
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent" 
    Android:layout_height="wrap_content"
    Android:textSize="20sp"
    Android:gravity="left"  
    Android:textColor="YOUR_HEX_COLOR_CODE"         
    Android:padding="5dip"
    />

Verwenden Sie nun diese Datei, um Ihre Spinner-Elemente wie folgt anzuzeigen:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_item,list);

Sie müssen die Dropdown-Ressource nicht festlegen. spinner_item.xml ist nur erforderlich, um Ihre Artikel in Spinner anzuzeigen.

1
Shabbir Dhangot

Versuchen Sie den folgenden Code

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android" >
    <item
        Android:state_pressed="true">
        <shape Android:shape="rectangle">
            <solid Android:color="#FFAA00"/>
        </shape>
    </item>
    <item 
        Android:state_selected="true">
        <shape Android:shape="rectangle">
            <solid Android:color="#FFAA00"/>
        </shape>
    </item>
</selector>

Und hier ist dein Spinner

<Spinner
   Android:id="@+id/sp_data"
   Android:background="@drawable/mybg"
   Android:layout_width="80dp"
   Android:layout_height="wrap_content"
   Android:textColor="#0000FF"/>

Happy Coding .. !!

0
Rhn Bhadani

Fügen Sie Folgendes in Ihre Datei styles.xml ein, um die Hintergrundfarbe und die Textfarbe der Dropdown-Liste zu ändern.

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
      <!-- Spinner style -->
    <item name="Android:spinnerStyle">@style/AppTheme.spinnerStyle</item>
    <!-- Spinner dropdown style-->
     <item name="Android:spinnerDropDownItemStyle">@style/AppTheme.spinnerDropDownItemStyle</item>

</style>
<style name="AppTheme.spinnerStyle" parent="@Android:style/Widget.Material.Light.Spinner">
    <item name="Android:textColor">@Android:color/white</item>
    <item name="Android:background">@color/colorPrimary</item>
</style>
<style name="AppTheme.spinnerDropDownItemStyle" parent="@Android:style/Widget.Material.DropDownItem.Spinner">
        <item name="Android:textColor">@Android:color/white</item>
        <item name="Android:background">@color/colorPrimary</item>
</style>

Fügen Sie in Ihrer AndroidManifest.xml das Thema hinzu. (Überprüfen Sie den Wert von Android:theme)

<application
    Android:allowBackup="true"
    Android:icon="@mipmap/ic_launcher"
    Android:label="@string/app_name"
    Android:roundIcon="@mipmap/ic_launcher_round"
    Android:supportsRtl="true"
    Android:theme="@style/AppTheme">
0
Tony