Android 配色师更换9个独立的抽绳?

Android 配色师更换9个独立的抽绳?,android,colors,background,drawable,color-picker,Android,Colors,Background,Drawable,Color Picker,我有9个ImageView,当onClick每次打开一个colorpicker时,我想让colorpicker更改与onClick当时使用的相同视图相关的可绘制视图的颜色。我不确定如何进行这项工作?我在网上搜索了一些例子,但似乎找不到任何相关的 如果您有一组固定的颜色可供选择,则可以使用。在XML中,它可能如下所示: <?xml version="1.0" encoding="utf-8"?> <level-list xmlns:android="http://schemas.

我有9个ImageView,当onClick每次打开一个colorpicker时,我想让colorpicker更改与onClick当时使用的相同视图相关的可绘制视图的颜色。我不确定如何进行这项工作?我在网上搜索了一些例子,但似乎找不到任何相关的

如果您有一组固定的颜色可供选择,则可以使用。在XML中,它可能如下所示:

<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:drawable="@drawable/color_0"
        android:maxLevel="0" />
    <item
        android:drawable="@drawable/color_1"
        android:maxLevel="1" />
    . . .
</level-list>
public void changeColor(View view) {
    String tag = "color_" + view.getTag();
    View target = findViewById(android.R.id.content).findViewWithTag(tag);
    int color = getColorFromUser();
    target.setBackgroundColor(color); // or whatever you want to do
}
然后,在活动中,定义处理程序函数,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:drawable="@drawable/color_0"
        android:maxLevel="0" />
    <item
        android:drawable="@drawable/color_1"
        android:maxLevel="1" />
    . . .
</level-list>
public void changeColor(View view) {
    String tag = "color_" + view.getTag();
    View target = findViewById(android.R.id.content).findViewWithTag(tag);
    int color = getColorFromUser();
    target.setBackgroundColor(color); // or whatever you want to do
}

您可能希望在此过程中检查空标记、未找到的视图、用户取消颜色选择等。

这太好了,谢谢,如果所有其他操作都失败,我会记住这一点,但我真的很想有颜色选择器的最大量的颜色choices@user1148316您只需要一个显示用户选择的纯色的视图?(或者,更确切地说,9个这样的视图?)我想要9个视图来理想地打开一个色轮(我正在工作)以及哪个视图打开了色轮,来更改与同一视图直接相关的可绘制图像的背景色。我可以想出一种方法,每9个视图有一个单独的色轮。。。但是为了节省这么多行代码,我相信有一种方法可以做到这一点wheel@user1148316-如果您打开colorwheel以响应单击,则可以捕获视图并使用它选择要更新的绘图。您还可以考虑使用视图标记来保存需要与可绘制性相关的信息。您可以在onClick侦听器中检索视图标记。