2017-03-07 10 views
0

私のスピナーの背景色を白くしようとしています。それは私がスピナーにして欲しい唯一の変更ですが、私が見ているすべての解決方法は、カスタムスピナーの作成、スタイルの変更、または単に色を変更するための他の長くて複雑すぎるプロセスを必要とします。色を簡単に変更する方法はありますか?私はドロウアブルを作成し、バックグラウンドとして設定する方法を楽しんでいました。解決方法私は以下のapi> = 23で動作することがわかりましたが、19分で何かが必要です。簡単な方法があるのですか、色を変更するためにカスタムスピナーを作成する必要がありますか?これは私のように見せようとしているものです。Android Spinner Color

幅/高さを設定せずに単純化されたバージョンを使用して

Using drawable listed below for >= 23 api

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

     <item android:gravity="center_vertical|right" android:right="8dp"> 
      <layer-list> 
       <item android:width="12dp" android:height="12dp" android:gravity="center" android:bottom="11dp"> 
        <rotate android:fromDegrees="45"> 
         <shape android:shape="rectangle"> 
          <solid android:color="#000000" /> 
          <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/splashColor"/> 
        </shape> 
       </item> 
      </layer-list> 
     </item> 
    </layer-list> 

(> = 23が必要です)この

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <shape> 
      <solid android:color="@android:color/white" /> 
     </shape> 
    </item> 
    <item> 
     <bitmap 
      android:gravity="end" 
      android:src="@drawable/arrow_dropdown" /> 
    </item> 
</layer-list> 

のように見えるが、それは高さが大きすぎるになり、画面全体を作るように見えますオフ。私は高さを変更する方法に気づいていません。pre 23

答えて

0

最後に、私は2番目の方法を使用し、スピナーの高さを手動で設定しました。最後にスピナーコードがどのように見えるのですか?

<Spinner 
     android:layout_width="match_parent" 
     android:layout_height="35dp" 
     android:background="@drawable/custom_spinner" 
     android:id="@+id/type" /> 

custom_spinner

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <shape> 
      <solid android:color="@android:color/white" /> 
     </shape> 
    </item> 
    <item> 
     <bitmap 
      android:gravity="end" 
      android:src="@drawable/arrow_dropdown" /> 
    </item> 
</layer-list> 
0

テーマ属性を設定することができます。

カスタム名前空間を使用して設定します。

Ex。 custom_styleは、あなたのスタイルのディレクトリで定義されている

<ProgressBar 
.... 
app:theme="@style/custom_style" 
/> 

<style name="custom_style" parent="Theme.AppCompat"> 
     <item name="colorControlNormal"><!--this color is not of importance --></item> 
     <item name="colorControlActivated">#FFFFFF</item> 
    </style> 

プログレスバーの色に白を追加。評価バーのために働く。プログレスバーでも動作するはずです。