1

AutoCompleteTextView コンポーネントがあり、デフォルトのドロップダウン セレクターを別の色に変更したいと考えています。最初に試したのは:android:dropDownSelector="#FF400000"ですが、セレクターがまったく表示されませんでした! 次に、描画可能なリソースに色を配置します。

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@android:color/holo_blue_dark"/>
</shape>

そしてそれをリンクしました:android:dropDownSelector="@drawable/drop_down_selector"、しかしそれは同じ効果をもたらしました(セレクターなし)。次に、スピナーのためだけに誰かが開いた同様の問題を見つけました: http://code.google.com/p/android/issues/detail?id=24922、そこで解決策で説明されているようにスタイルを定義しようとしました:

<style name="AutoCompleteDropDown" parent="@android:style/Theme.Holo.Light">
    <item name="android:dropDownListViewStyle">@style/AutoCompleteSelector</item>
</style>
<style name="AutoCompleteSelector" parent="@android:style/Widget.Holo.Light.ListView">
    <item name="android:listSelector">#FF400000</item>
</style>

そしてそれをリンクしました: style="@style/AutoCompleteDropDown"、しかし何もしませんでした(ただし、dropDownSelector属性を削除したため、デフォルトのセレクターが元に戻りました)。

それで、私はここで何が欠けていますか?私は何を間違っていますか?

更新:わかりましたので、提案されたように、セレクターも試しました:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_selected="true" android:state_pressed="true" 
       android:state_focused="true" android:state_activated="true"
       android:drawable="@android:color/holo_green_light"/>
</selector>

しかし、うまくいきませんでした。まだセレクターがありません (少なくとも、私が見ることができるセレクターではありません)。

4

2 に答える 2

1

アダプターによって生成されたビューから背景を削除してみてください。それは私を助けました。

于 2014-07-04T09:46:56.287 に答える
1

テーマとスタイルは意図によって異なります。そして、さまざまな属性を使用します。テーマは、さまざまなウィジェットのスタイルを定義します。スタイルはウィジェット自体を定義します。テーマは、アプリケーションまたはアクティビティに適用されます。

1) ウィジェットを 1 つだけにしたい場合。

/platforms//res/values/values.xml に移動して、ウィジェット (AutoCompleteTextView) のスタイルがどのように定義されているかを調べる必要があります。必須属性をピックアップ。システムと同じセレクターを定義しますが、変更を加えます。また、/res/drawable でセレクターを見つけることもできます

2)アプリケーション全体でそれになりたい場合:

a) /platforms//res/values/themes.xml に移動する必要があります

b) AutoCompleteTextViewb に選択したテーマに含まれるスタイルを確認できます。

        <item name="autoCompleteTextViewStyle">
             @android:style/Widget.AutoCompleteTextView
        </item>

c) 次に res/values/styles.xml に移動します

d) そこで、ウィジェットのスタイルを見つけることができます。

e) 次に、テーマを拡張する必要があります。そして、1つのオプションのように、新しく作成したスタイルで autoCompleteTextViewStyle 属性をオーバーライドします。

于 2012-10-08T07:01:33.827 に答える