我的问题与上面的问题不同。
我正在为我的应用程序使用一个appcompat主题,并使用setBackgroundTintList()设置微调框的下划线颜色,它可以正常工作。但是,the documentation说,这将在API v21或更高版本上运行时始终生效。如果有人知道如何更改下划线颜色API v20及更低版本,我将不胜感激。
我不能使用styles.xml,因为我需要根据某些条件更改颜色,所以我想弄清楚如何在代码中动态更改它。
更新 好的,现在我可以通过将Spinner更改为AppCompatSpinner并使用ViewCompat.SetBackgroundTintList()来更改Android API 20上的三角形图标颜色。阅读文档时,微调器需要为API 20或更低版本实现TintableBackgroundView。 AppCompatSpinner正在实现TintableBackgroundView。 但是,我仍然看不到下划线:(
答案 0 :(得分:1)
您可以将XML用作背景,因此背景将显示在所有API版本中。为您的自定义XML布局。例子是
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<layer-list>
<item>
<shape android:shape="rectangle">
<solid android:color="@color/white" />
<stroke android:width="2px" android:color="@color/darkgray_7" />
<corners android:radius="5dp" />
</shape>
</item>
<item>
<bitmap
android:gravity="right" android:src="@drawable/arrow" />
</item>
</layer-list>
</item>
</selector>