次のようにクラスを派生させ、メソッドをView
実装しました。onDraw
protected void onDraw( Canvas canvas )
{
Paint p = new Paint();
p.setColor( Color.HSVToColor( new float[]{ 1.f, 1.f, 1.f } ) );
p.setStyle( Paint.Style.FILL );
canvas.drawRect( area, p );
}
色付きの長方形が表示されることを期待していますが、画面は白のままで、色相、値、彩度にどの値を試しても問題ありません。変数area
はRectF
. に色をつければうまくいくので大丈夫Color.RED
です。
Android のドキュメントには次のように記載されていColor.HSVToColor
ます。
HSV コンポーネントを ARGB カラーに変換します。0xFF に設定されたアルファ。hsv[0] は色相 [0 .. 360) hsv[1] は彩度 [0...1] hsv[2] は値 [0...1] hsv 値が範囲外の場合、固定されます。
色相/彩度/値の組み合わせをたくさん試しましたが、画面は常に空白のままです。さらに、次のことを試しましたが、同じ結果が得られました。
float[] hsv = new float[ 3 ];
Color.colorToHSV( Color.RED, hsv );
Paint p = new Paint();
p.setColor( Color.HSVToColor( hsv ) );
p.setStyle( Paint.Style.FILL );
canvas.drawRect( area, p );
私は何を間違っていますか?