首页 > 解决方案 > ScrollView 内的 Android Spinner 下划线颜色

问题描述

我正在寻找一种方法来更改所有微调器下划线颜色,我制作了这个答案的编辑版本:

样式.xml

<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:spinnerStyle">@style/MyCustomSpinner</item>
</style>

<style name="MyCustomSpinner" parent="Widget.AppCompat.Spinner.Underlined">
    <item name="android:minHeight">60dp</item>
    <item name="colorControlNormal">@color/colorPrimary</item>
    <item name="android:textColorSecondary">@color/colorPrimary</item>
    <item name="android:colorPrimary">@color/colorPrimary</item>
    <item name="android:strokeColor">@color/colorPrimary</item>
</style>
</resources>

这些都不适合我,所以我注意到这个答案有这样的评论:

如果 Spinner 在 ScrollView 中,这将不起作用。——伊戈尔加纳波尔斯基

好吧......我所有的微调器都在 ScrollViews 内,那么,如何更改 ScrollViews 内的所有微调器下划线颜色?

标签: androidxmlandroid-styles

解决方案


像这样创建新样式并将您的颜色粘贴到此样式中

<style 
name="Spinner" parent="Widget.AppCompat.Light.DropDownItem.Spinner">
<item name="android:paddingStart">0dp</item>
<item name="android:paddingEnd">0dp</item>
<item name="android:backgroundTint">@color/colorWhite</item>
<item name="android:textSize">14sp</item>
</style>

在设置样式之后像这样旋转

<Spinner
  android:layout_width="match_parent"
  android:layout_height="35dp"
  android:id="@+id/spinner"
  android:layout_marginTop="30dp"
  style="@style/Spinner"
/>

推荐阅读