6

だから私はスピナーを持っていて、選択したアイテムの色を変更することに成功しましたが、ドロップダウンメニューのアイテムの色を変更することはできません

これは私のspinner_layout.xml です

<?xml version="1.0" encoding="utf-8"?>
<TextView  
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent" 
   android:layout_height="wrap_content"
   android:textSize="13sp" 
   android:textColor="#33CCFF"         
/>

これは私のstyles.xmlです

<resources>
  <style name="AppTheme" parent="android:Theme.Light" >
     <item name="android:spinnerDropDownItemStyle">@style/SpinnerItem.DropDownItem.Color</item>
     <item name="android:spinnerItemStyle">@style/SpinnerItem</item>
  </style>
  <style name="SpinnerItem.DropDownItem.Color" parent="@android:style/Widget.DropDownItem.Spinner">
      <item name="android:textColor">#4FBDE8</item>
  </style>

  <style name="SpinnerItem" parent="@android:style/Widget.TextView.SpinnerItem">
      <item name="android:textColor">#4FBDE8</item>
  </style>
</resources>

私がそれを行うことができるXMLの方法はありますか?

4

2 に答える 2

3

別のstackoverflowスレッドで見つけた解決策は次のとおりです

<style name="Theme.NoTitleBar.WithColoredSpinners" parent="@android:style/Theme.NoTitleBar">
    <item name="android:spinnerItemStyle">@style/SpinnerItem</item>
    <item name="android:spinnerDropDownItemStyle">@style/SpinnerItem.DropDownItem</item>
</style>

<style name="SpinnerItem" parent="@android:style/Widget.TextView.SpinnerItem">
    <item name="android:textColor">#00FF00</item>
</style>

<style name="SpinnerItem.DropDownItem" parent="@android:style/Widget.DropDownItem.Spinner">
    <item name="android:textColor">#FF0000</item>
</style>

于 2012-10-29T02:36:33.683 に答える
1

スピナーのレイアウト リソース ファイルを指定するときは、2 か所で設定する必要があります。

  1. 新しい ArrayAdapter の宣言中

    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, R.layout.spinner_item, categories);
    
  2. アレイ アダプタで dropDownViewResource を設定するとき。

    dataAdapter.setDropDownViewResource(R.layout.spinner_item_dropdown);
    

2 つの異なるレイアウト ファイルが使用されていることに注意してください。スタイルを定義し、これらのスタイルをそれぞれのレイアウトのテーマとして使用することにより、次の方法でビューをカスタマイズできます。

<style name="SpinnerItem" parent="@android:style/Widget.TextView.SpinnerItem">
    <item name="android:textColor">@color/white</item>
    <item name="android:background">@color/black</item>
</style>

<style name="SpinnerItem.DropDownItem" parent="@android:style/Widget.DropDownItem.Spinner">
    <item name="android:textColor">@color/black</item>
</style>

お役に立てれば。

于 2016-04-14T06:54:47.070 に答える