我想在未启用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上有一个看起来像触摸指示器的较小圆圈。这是否与使用颜色状态列表?
有关