web-dev-qa-db-ja.com

Androidスピナーの下線の色

style="@style/Base.Widget.AppCompat.Spinner.Underlined"を使用して、スピナーに下線を追加できます。スタイルのみを使用して下線の色を変更するにはどうすればよいですか?これを変更するためにドローアブルファイルを使用したくありません。

 <item name="colorControlHighlight">@color/colorAccent</item>
 <item name="colorControlNormal">@color/colorAccent</item>

上記のスタイルを使用すると、ユーザーがクリックしたときに下線だけが強調表示されます。通常の状態では下線の色は変わりません。

10

デフォルトでは、SpinnercolorControlNormalAndroid:textColorSecondaryまたはAppThemeで設定された色を使用します。そこで適切な色を設定するか、新しいテーマを定義してこれをスピナーに適用します。

例:

styles.xml

<style name="ThemeSpinner">
    <!-- Color when pressed -->
    <item name="colorAccent">#ffa000</item>
    <!-- Default color for the dropdown arrow and line -->
    <item name="colorControlNormal">#ffc107</item>
</style>

layout.xml

<Spinner
    style="@style/Widget.AppCompat.Spinner.Underlined"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:theme="@style/ThemeSpinner" />

注:ドロップダウン矢印にも色が付きます-私は気づいていません矢印を個別に色分けするオプション

37
reVerse

この質問はすでに回答されているようです。しかし、これもプログラムでそれを解決する方法です。 (API 19以上でテスト済み)。

これにはViewCompatを使用します。

ViewCompat.setBackgroundTintList(spinner, ColorStateList.valueOf(your_color));
3
sud007

これをスピナーに追加

Android:backgroundTint="@color/gray"
0
Ananta Prasad