Android Spinner下划线颜色

Bho*_*att 9 android underline android-appcompat android-spinner

我可以使用旋转器添加下划线style="@style/Base.Widget.AppCompat.Spinner.Underlined".如何仅使用样式更改下划线的颜色?我不想使用任何可绘制的文件来改变它.

 <item name="colorControlHighlight">@color/colorAccent</item>
 <item name="colorControlNormal">@color/colorAccent</item>
Run Code Online (Sandbox Code Playgroud)

使用上面的样式,当用户点击它时,它只有下划线.它在正常状态下不会改变下划线的颜色.

reV*_*rse 36

默认情况下,Spinner将使用通过android:textColorSecondarycolorControlNormal在您的颜色设置AppTheme.因此,要么在那里设置适当的颜色,要么定义一个新主题并将其应用于您的Spinner:

例:

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>
Run Code Online (Sandbox Code Playgroud)

layout.xml

<Spinner
    style="@style/Widget.AppCompat.Spinner.Underlined"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/ThemeSpinner" />
Run Code Online (Sandbox Code Playgroud)

注意: 下拉箭头也会着色 - 我不知道单独为箭头着色的选项