如何在Kotlin中以编程方式修改Floating Action Button的背景图片
实现步骤
直接在Kotlin代码中调用FloatingActionButton的setImageResource方法即可替换图标,两种常用写法如下:
写法1:使用findViewById获取控件实例
// 先获取FloatingActionButton实例 val imageFab = findViewById<com.google.android.material.floatingactionbutton.FloatingActionButton>(R.id.image_fab) // 替换为目标drawable资源 imageFab.setImageResource(R.drawable.image_bw)
写法2:使用视图绑定(View Binding,推荐)
如果项目开启了视图绑定,不需要手动findViewById,直接调用绑定类的对应控件即可:
// 替换为你自己的绑定类实例即可 binding.imageFab.setImageResource(R.drawable.image_bw)
注意事项
- 你在XML中已经配置了
app:tint="@null",替换后不会出现系统默认着色覆盖原图的问题,若后续出现图标颜色异常可额外添加一行代码清除着色:imageFab.imageTintList = null - 该方法和XML中
app:srcCompat的适配逻辑一致,可自动兼容低版本Android系统以及矢量图资源。
内容的提问来源于stack exchange,提问作者Codist
相关产品推荐
相关产品推荐

