android - 以编程方式更改 MaterialButton 图标的图标色调 [Kotlin]
问题描述
我需要更改 MaterialButton 的图标色调,该图标是一个 xml 矢量资产,我可以在 xml 布局中轻松更改色调,但我需要通过单击以编程方式更改颜色,我无法找到与此问题相关的内容,这是我的按钮:
<com.google.android.material.button.MaterialButton
android:id="@+id/btnShowDepartmentList"
style="@style/com.madison.Button.IconButton"
app:iconSize="32dp"
android:padding="0dp"
android:paddingLeft="5dp"
android:paddingStart="5dp"
app:icon="@drawable/ic_list_thumbnails"
android:layout_width="42dp"
android:layout_height="42dp"
app:iconTint="@color/orangeLighter"
tools:ignore="RtlSymmetry"/> ```
解决方案
您将需要使用 MaterialButton 的setIconTint(ColorStateList)
orsetIconTintResource(Int)
方法。例如:
val button = findViewById<MaterialButton>(R.id.btnShowDepartmentList)
button.setOnClickListener {
button.setIconTintResource(R.color.orangeLighter)
}
推荐阅读
- django - 从请求对象获取数据时,“WSGIRequest”对象没有属性“对象”错误
- javascript - 加载事件不适用于所选元素
- vscode-settings - vscode 启动时显示错误 NODE_TLS_REJECT_UNAUTHORIZED 错误
- sql - VB.Net SQL Query - 我正在尝试连接两列但是我遇到了问题
- python - 在python for循环中删除变量是否会提高内存效率?
- java - 正则表达式匹配两个单字母单词之间的和号
- html - Bootstrap navbar:调整导航栏高度后出现汉堡包问题
- java - Selenium chrome 驱动程序抓取在元素中动态添加属性
- java - Python 脚本卡在 FileHandler
- java - 如何在谷歌云中部署 Spring Boot 应用程序?