2016-07-25 15 views
0

Ich habe versucht, einen Spinner zu meiner Symbolleiste hinzufügen, aber nicht erreicht, was ich will.Android Toolbar mit Spinner mit weißem Text und weißem Popup-Hintergrund?

Das ist was ich bisher habe.

enter image description here enter image description here

Wie man auf den Screenshots sehen können, die ausgewählte Textfarbe der Spinner ist schwarz (ich will es weiß sein), während das Popup einen weißen Hintergrund mit Text der Farbe Schwarz hat (das ist ok).

Hier ist mein Code.

 <android.support.v7.widget.Toolbar 
     android:id="@+id/bottom_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
     android:layout_alignParentBottom="true"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 

      <ImageButton 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/ic_date_range_white_24dp" /> 

      <android.support.v7.widget.AppCompatSpinner 
       android:id="@+id/date_range" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:entries="@array/date_range_options" 
       android:spinnerMode="dropdown" /> 

     </LinearLayout> 

    </android.support.v7.widget.Toolbar> 

Wenn ich die Toolbar ändern und hinzufügen App: theme = "@ style/ThemeOverlay.AppCompat.Dark.ActionBar" wie unten:

<android.support.v7.widget.Toolbar 
     android:id="@+id/bottom_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
     android:layout_alignParentBottom="true"> 

ich die weiße Textfarbe der Schleudervorrichtungen erhalten ausgewählt Text, aber der Popup-Hintergrund wird auch mit weißer Textfarbe dunkel.

Ich möchte während Textfarbe im ausgewählten und mit einem weißen Popup-Hintergrund mit schwarzem Text haben.

Wie mache ich das?

Antwort

0

können Sie ein Thema verwenden diese

<android.support.v7.widget.AppCompatSpinner 
       android:id="@+id/date_range" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:entries="@array/date_range_options" 
       android:theme="@style/spinnerStyle 
       android:spinnerMode="dropdown" /> 

zu tun und dann in Ihre Stile Datei

<style name="spinnerStyle" parent="AppTheme"> 
    <item name="colorControlNormal">@color/white_text</item> 
    <item name="colorControlActivated">@color/white_text</item> 
    <item name="colorControlHighlight">@color/white_text</item> 
</style> 

ersetzen @ color/white_text mit dem, was Farbe, die Sie verwenden möchten.

+0

hi. Ich habe deinen Vorschlag ausprobiert, aber es hat nicht funktioniert. Es zeigt den gleichen Effekt wie der in den obigen Screenshots. – ank

+0

Merkwürdig vielleicht, weil es in einer Symbolleiste ist. Das funktioniert merkwürdig für mich. Verwenden Sie einen benutzerdefinierten Adapter für Ihren Spinner. Wenn dies in der getView-Methode der Fall ist, können Sie dies tun TextView textView = (TextView) convertView.findViewById (android.R.id.text1); deviceName.setTextColor (ContextCompat.getColor (getContext(), R.color.pist)); Angenommen, Sie verwenden das Standardlayout für den Spinner (android.R.layout.simple_list_item_1) – Ben

+0

Nein, ich verwende keinen Adapter. Das ist alles auf XML. – ank

Verwandte Themen