[Android] Canvas で画像とテキストを表示

前のページで Canvas で描画した領域を消したり表示したりする場合にPorterDuff.Mode.CLEARを使いましたが、部分的に表示・非表示をしたい場合にはちょっと使いにくいかもしれません。
それぞれが重なっていると、重なった部分が黒抜きで消えたり色々面倒です。シンプルに全て再描画を使う方がいいかもしれません。
 
画像とテキストをボタンで切り替える例です。

canvasImage01
canvasImage02

Android Studio 2.1.1
Android 6.0

 

sponsored link

drawBitmap & drawText

 
この例では、TextViewでのテキストとCanvas上のテキストが混在します。またCanvas領域に画像を表示していますが、これもImageViewで表示することもできます。このようにCanvasを使った表現の幅を種々広げることができるのが分かります。
 

Canvas の作成

 
以前の方法 と同じように作っていきます。この例の package は 「com.example.testcanvasimage」で設定しました。
 
button によりCanvas領域での画像と文字を切り替えます

 
TestView.java

 
MainActivity.java

 
activity_main.java

 
描画を繰り返す場合のメモリには注意が必要ですね

 
yumiko
[モデル:渡辺友美子]
 

cnvas1_1 cnvas2_1b cnvas3_1 canvasImage01 circle_animation02