2017-06-13 10 views
2

背景色とドロップダウンアイコンを使用してスピナーを作成しようとしていますが、背景色を適用するたびにドロップダウンアイコンが消えます。Spinnerにドロップダウンアイコン&色。私は以下しようとしているXMLで見てください :ドロップダウンアイコン付きスピナー背景色

予想される出力:

enter image description here

(アイコンをドロップダウンせず)

enter image description here

を取得

背景が削除されましたその後、私は次の出力を取得しています:

enter image description here

<android.support.v7.widget.CardView 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_marginLeft="@dimen/dp_5" 
     android:layout_marginRight="@dimen/dp_5" 
     android:layout_weight="8" 
     android:padding="@dimen/dp_8" 
     app:cardElevation="@dimen/dp_5"> 

     <android.support.v7.widget.AppCompatSpinner 
      android:id="@+id/appCompatSpinner" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:entries="@array/clubName" 
      android:textAlignment="center" 
      android:spinnerMode="dropdown" 
      android:background="@color/colorPrimary_blue" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 

     </android.support.v7.widget.AppCompatSpinner> 
    </android.support.v7.widget.CardView> 

答えて

2

の背景色を設定.xmlクラスを作成し、このコアを記述します。

<?xml version="1.0" encoding="utf-8"?> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item> 
    <color android:color="@color/InputBg" /> 
</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="#666666" /> 
        <stroke android:color="#aaaaaa" android:width="1dp"/> 
       </shape> 
      </rotate> 
     </item> 
     <item android:width="30dp" android:height="10dp" android:bottom="21dp" android:gravity="center"> 
      <shape android:shape="rectangle"> 
       <solid android:color="@color/InputBg"/> 
      </shape> 
     </item> 
    </layer-list> 
</item> 

 And Apply like this in Spinner. 
<Spinner 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/spinner_bg" /> 
+0

はい、それは働きました! –

2

これに対する簡単な回避策だけでframeLayoutであなたのスピナーをラップし、お好みのレイアウト

<FrameLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@color/blue" 
    > 

    <Spinner 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     /> 

</FrameLayout>