如何获取 ImageButton 色调颜色并将其保存到 android studio 中的 sqlite? (获取色调值而不是设置它)

how to get ImageButton tint color and save it to sqlite in android studio? (Get tint value not set it)

嗨,我有这个 ImageButton:

<ImageButton
            android:id="@+id/imgBtn20"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_lens_50_white"
            android:tint="@color/color_picker_color_20"
            android:backgroundTint="@color/color_white"
            android:layout_weight="0.25" />

当用户点击这个图像按钮。 关于如何设置色调值有很多答案。但我只想得到这个色调值。 我怎样才能做到这一点?任何帮助都会有用谢谢。

试试这个:

val tintColor: Int = imageButton.imageTintList?.defaultColor
if (tintColor != null) {
    val hexColor = String.format("#%06X", 0xFFFFFF and tintColor)
    println("Color is: $hexColor")
}

这里,imageButton.imageTintList给了我们一个ColorStateList,它可以根据不同的状态(例如按下、选中等)有不同的颜色

由于您仅使用直接颜色参考,因此它将作为默认状态的默认颜色提供。得到这个颜色后,我们可以格式化它来显示RGB颜色。