Android ColorPickerPalette的用法

我需要在Android应用程序中构建一个对话框,用户可以从中选择几种预定义的颜色之一。 我发现这个颜色选择器很适合我的需求。 在现有的Android项目中的集成不是一个问题,但我没有得到它的正常工作。 我有问题:

  1. 对话框显示正确,包括ColorPickerPlatte。 但是,我无法更改选定的颜色。 我是否需要通过使用可以传递给init函数的事件处理程序来自己做这件事?

  2. 我如何检索当前选择的颜色?

这是我做的:

我创建了一个布局,作为对话框的视图。 在这个视图中,我添加了一个ColorPickerPalette,如下所示:

<com.android.colorpicker.ColorPickerPalette xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/color_picker" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:gravity="center" android:padding="16dp" /> 

在下一步中,我设置了包括ColorPickerPalette的对话框。 我用下面的(Kotlin)代码做这个:

 val SELECTABLE_COLORS = intArrayOf(Color.BLACK, Color.GREEN, Color.RED, Color.BLUE) val inflater = LayoutInflater.from(context) val dialogView = inflater.inflate(R.layout.add_activity_form, null) val colorPickerPalette = dialogView.findViewById(R.id.color_picker) as ColorPickerPalette colorPickerPalette.init(SELECTABLE_COLORS.size, 4, {}) colorPickerPalette.drawPalette(SELECTABLE_COLORS, SELECTABLE_COLORS[0]) val dialogBuilder = AlertDialog.Builder(context) dialogBuilder .setTitle(R.string.dialog_create_activity_title) .setCancelable(false) .setView(dialogView) .setNegativeButton(R.string.cancel, null) .setPositiveButton(R.string.add, null) return dialogBuilder.create() 

上面链接的项目网站上找不到任何信息。 也许是因为它太容易/明显,但任何帮助,将不胜感激!

Interesting Posts