ホームページ > 記事 > ウェブフロントエンド > Canvas と Drawables の翻訳 エピソード 1
Android 公式原文アドレス: http://developer.android.com/guide/topics/graphics/2d-graphics.html
-----以下の翻訳は分かりやすくするために私自身の考えを取り入れており、多くの箇所であまり適切ではないので、英語の原文を添えます
Canvas and Drawables の描画ボードと図面 (図面は伸縮可能な図面です)
この文書の中で
キャンバスで描画
ビュー上で
オンSurfaceView
Drawables
リソースから作成
画像
リソースから作成
XML
Shape Drawable
Nine-patch
関連項目
フレームワーク API を使用した OpenGL
RenderScript
Android フレームワーク API は、 2Dの- 独自のカスタム グラフィックをキャンバス上にレンダリングしたり、既存のビューを変更して外観をカスタマイズしたりできる描画 API は、
通常、次の 2 つの方法のいずれかで行います。
Android フレームワーク API が提供します。一連の 2D 描画 API を使用すると、独自のカスタム グラフィックス (グラフィックス) をキャンバス (キャンバス) にレンダリングしたり、既存のビュー (ビュー) を変更して効果やエクスペリエンスをカスタマイズしたりできます。 2D グラフィックスを描画する場合、一般に 2 つの方法があります:
レイアウトから View オブジェクトにグラフィックスまたはアニメーションを描画する この方法では、グラフィックスの描画はシステムの通常の View 階層描画プロセスによって処理されます。グラフィックスをビュー内に配置します。
レイアウト ファイルを通じてグラフィックスまたはアニメーションを View オブジェクトに描画します。このように、グラフィックスの描画は、システムの通常のビューレベルの描画プロセスによって処理されます。グラフィックスをビューに定義するだけです。このメソッドはおそらく、xml で定義された背景画像または ImageView の src 属性を参照します。
グラフィックを Canvas に直接描画します。この方法では、適切なクラスの
onDraw()メソッド
(Canvas に渡す) を呼び出すか、Canvas
draw...()のいずれかを制御します。このメソッドでは、適切なクラスの onDraw() メソッドを個人的に呼び出すか (Canvas を渡す)、または Canvas 描画を行う必要があります。 () メソッドの 1 つ (drawPicture() など)。これにより、任意のアニメーションを制御することもできます。
オプション "a" (ビューへの描画) は、動的に変更する必要がなく、パフォーマンスを重視するゲームの一部ではない単純なグラフィックを描画する場合に最適です。たとえば、
グラフィックを描画する必要があります。静的なグラフィックまたは事前定義されたアニメーションをビューに表示する場合は、それ以外の場合は静的なアプリケーション内でドローアブルを参照してください。
オプション a、単純なグラフィック (グラフィックス) を描画する場合、グラフィックは必要ありません。動的に変更するか、パフォーマンスを向上させるゲームの一部ではない場合、現時点では、グラフィックスをビューに描画することが最善の選択です。たとえば、静的なグラフィックまたは事前定義されたアニメーションを表示したい場合は、グラフィックをビューに描画する必要があります。
オプション "b" (キャンバスへの描画) は、アプリケーションが定期的に再描画する必要がある場合に適しています。ただし、これを行う方法は複数あります。 :
オプション b、アプリケーションが時間通りに再描画する必要がある場合は、キャンバスに描画する方が良い選択です。たとえば、ビデオ ゲーム アプリケーションはアートボードに描画する必要があります。とにかく、これを行う方法はたくさんあります。
UI アクティビティと同じスレッドで、レイアウト内にカスタム View コンポーネントを作成し、
invalidate()
onDraw()
または、別のスレッドで、
SurfaceViewを管理し、スレッドが可能な限り高速に Canvas への描画を実行します (リクエスト
invalidate()
上記は Canvas と Drawables の翻訳の第 1 話の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) をご覧ください。