2017-08-02 20 views
0

Canvasオブジェクトに丸い四角形を描画しようとしていますが、何も表示されません。私はそうのようなRoundRectShapeを初期化します。RoundRectShapeが描画されない

test = new RoundRectShape(new float[]{r, r, r, r, r, r, r, r}, new RectF(100, 100, 100, 100), null); 

私はその後test.draw(canvas)を呼び出すが、何も現れません。なぜ描画しないのですか?RoundRectShapeを正しく作成しましたか?なぜ私はそれをやるべきかについて私はかなり混乱していたからです。 documentation for RoundRectShapeから

答えて

1

void draw (Canvas canvas, Paint paint)

これを呼び出す前に、 resize(float, float)を呼び出す必要があります。

resize()を呼び出さないと、図形に寸法がありません。

+0

はい、これはうまくいきました:)シェイプの位置を設定できる方法はありますか?現在のところ、コーナーではちょうど0であるからです。 – Ryan

+0

@Ryan私は試していないので100%確かではありませんが、あなたの 'RoundRectShape'を使って新しい' ShapeDrawable'を構築してから、その新しい描画可能ファイルで 'setBounds()'を呼び出し、キャンバスへ。 –

+0

これは位置を設定しますが、 'ShapeDrawable'描画関数は' Paint'パラメータを持たないので、形状の色などを取り除きます – Ryan

関連する問題