【发布时间】:2011-12-10 05:58:36
【问题描述】:
在 My Paint 应用程序中,我将从颜色选择器中选择颜色。
MyApp 是这样的:This link
现在我正在使用this class 来选择颜色。
我用来选择颜色的代码是:
public void pickColour(){
takePhotoFromCamera = false;
takePhotoFromGallery = false;
new UberColorPickerDialog(TWSBIDrawMainActivity.this, this, canvasColor, true).show(); // generats error here
myView.getVisibility();
}
picker 的 Override 方法是:
@Override
public void colorChanged(int color) {
// TODO Auto-generated method stub
TWSBIDrawMainActivity.canvasColor = color;
float hsv[] = new float[3];
Color.colorToHSV(TWSBIDrawMainActivity.canvasColor, hsv);
}
我正在使用代码在 MyView 类中绘制该颜色:
@Override
protected void onDraw(Canvas canvas) {
//canvas.drawColor(0, PorterDuff.Mode.CLEAR);
// set the Canvas Color
canvas.drawColor(canvasColor);
}
现在,当我从选择器中选择颜色时,它被选中,但是当我按下接受时,它不会影响该视图,但当我触摸该视图时,它就会生效。
我想要的是当我从选择器按接受时颜色应该生效。
请帮助我。 谢谢。
已编辑:
请看这个屏幕截图:
在打开对话框后,如果我按下接受按钮,那么颜色应该在白色背景上生效。但不是现在,如果我按下接受按钮,然后如果我触摸白色背景,那么只有颜色生效。那我该怎么办?
希望你明白我的意思。 我真的需要这个问题的帮助。 请帮我。 . 谢谢。
【问题讨论】:
-
我是否应该将注意力集中在我要在函数中绘制颜色的视图上?
-
你能解释一下你到底想要什么...你已经画了一条你想改变颜色的线吗?还是什么?
-
@havexz :在那个 Link 应用程序中,颜色选择器用于 mPaint 颜色,但我打算使用该选择器来设置画布的背景颜色。但它会在对话框关闭并且我触摸视图后生效。
-
假设如果我用这个选择器改变背景的颜色,那么在我触摸到那个视图之后它就会生效。
-
所以您希望颜色在您选择而不是在您触摸视图后立即生效?可以提供截图吗?
标签: android android-layout colors android-canvas color-picker