0

Canvas次のコードを使用して、描画した テキストを削除したいと思います。

   canvas.drawText(label, width / 4, height / 3, paint_text);

完了したら、ユーザーはそのテキストを編集できるので、キャンバスから既に描画されたテキストを削除してから、編集して新しいテキストを書きたいと思います。

明確にしたいことの 1 つは、イメージ ビットマップを使用してキャンバスにテキストを書き込むことです。

他の方法で可能ですか?これを解決するのを手伝ってください。

4

3 に答える 3

1

キャンバスからテキストを削除する唯一の方法は、条件を 1 つ取り、条件が満たされない場合はこれらのテキストを描画しないことです。通常、キャンバスを使用して継続的に描画します。

if(flag){
///draw text
}else{
//Do not draw
}

onDraw() メソッドを再度呼び出して新しい変更を表示する 同じスレッドにいる場合は inValidate() を呼び出すか、別のスレッドから postInvalidate() を呼び出す

于 2012-07-25T09:11:50.230 に答える
1

テキストを編集するたびに再描画することをお勧めします。これは setText() メソッドで invalidate() メソッドを呼び出すことで実行できます。ユーザーにテキストを編集させてから、キャンバスを再描画します。

public setText(String text)
{ 
     label = text;
     this.invalidate();
}

...
//inside your draw method
canvas.drawText(label, width / 4, height / 3, paint_text);
...
于 2012-07-25T09:12:29.950 に答える