使用ColorStateList的Android FAB setBackgroundTintList不起作用
当NFC未启用时,我想要改变NFC扫描FAB的颜色。 我已经设法在应用程序启动时成功更改颜色,但是如果用户点击FAB并启用NFC,则颜色不会更改为原色。 日志说,但是,变化不会发生。
我的minSdkVersion = 15
XML:
<android.support.design.widget.FloatingActionButton android:id="@+id/fab_scan_nfc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" app:backgroundTint="@color/colorPrimary" app:borderWidth="0dp" app:elevation="6dp" app:fabSize="mini" app:fab_colorNormal="@color/colorPrimary" app:fab_colorPressed="@color/colorPrimaryDark" app:fab_colorRipple="@color/colorAccent" app:srcCompat="@drawable/ic_nfc_n" />
科特林:
if (!isNFCEnabled) { Log.d(TAG, "Change NFC fab colour to disabled.") fab_scan_nfc.backgroundTintList = ColorStateList.valueOf(R.color.colorDisabled) } else { Log.d(TAG, "Change NFC fab colour to primary.") fab_scan_nfc.backgroundTintList = ColorStateList.valueOf(R.color.colorPrimary) }
这与Java相同:
if (!isNFCEnabled) { Log.d(TAG, "Change NFC fab colour to disabled.") fab_scan_nfc.setBackgroundTintList = ColorStateList.valueOf(R.color.colorDisabled); } else { Log.d(TAG, "Change NFC fab colour to primary.") fab_scan_nfc.setBackgroundTintList = ColorStateList.valueOf(R.color.colorPrimary); }
作为副作用 – 当代码应用禁用的颜色背景色调时,FAB上有一个看起来像触摸指示器的小圆圈。 这与使用颜色状态列表有关吗?
- BottomNavigationView链接到ViewPager,当我设置监听器bottomNavigationView,我必须点击两次执行我所做的
- 在Kotlin中,表达式不能是一个选择符(出现在一个点之后)
- 错误“不能为null”在Kotlin中
- 如何在Kotlin中加载片段?
- 错误:执行失败的任务':app:kaptDebugKotlin'
- Android工作室是制作手机游戏的充足工具吗?
- Android数据绑定构建失败后,Gradle插件更新迁移到annotationProcessor
- Kotlin AAR库w / proguard:如何保持扩展方法?
- 创建一个微调器,当选择一个项目时调整它的宽度
- 我如何使用视图模型,用sqlite和广播接收器来更新UI?
- Kotlin:“fun main(parameters:Array <String>)”中的默认参数如何在不指定任何值的情况下打印“guest”
- 在Kotlin中实例化对象时如何覆盖方法?
- 在Kotlin中覆盖复杂类型的Java方法
- 为什么有一个类存在的NoClassDefFoundError?