スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[Android] Drawable, Canvas, Bitmapの関係

Drawable, Canvas, Bitmapの関係が最初わからなかったので整理。

Bitmapは、ピクセル(点)のデータの集まり。

Drawableは、http://developer.android.com/intl/ja/reference/android/graphics/drawable/Drawable.html
A Drawable is a general abstraction for "something that can be drawn."
とある通り、「何を」描くかを表す抽象クラス。

単純なBitmap以外にも、線・塗り、NinePatchなどがDrawableのサブクラスとして実装されている。Resourceと組み合わせて使うことが多い。

また、Viewで使用するための機能として、ステータスやレベルなどがあり、1つのインスタンスに複数の状態を保持できる。StateListDrawableなどといった専用のクラスがあり、他のDrawableを保持することで実現している。
ステータスは、"フォーカスが当たった"/"押された"/"無効"などがある。レベルは任意のint型の数値が指定可能(ボリュームコントロールやバッテリーメーターなどで使う)。


Canvas は「描く」部分を集約したクラス。「線を描く」「Bitmapを流し込む」「テキストを描く」などのメソッドを持つ。どこに描くかはコンストラクタで指定する。

Drawable#draw(canvas) で、Drawableの内容をCanvasに描き込むことができる。

スポンサーサイト

コメント

非公開コメント

プロフィール

fchiba

Author:fchiba
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。