Maison  >  Article  >  interface Web  >  Traduction de Canvas et Drawables Épisode 3

Traduction de Canvas et Drawables Épisode 3

黄舟
黄舟original
2017-01-16 16:47:021235parcourir


Adresse originale officielle d'Android : http://developer.android.com/guide/topics/graphics/2d-graphics.html

------La traduction suivante En intégrant ma propre réflexion, il est facile à comprendre. La traduction à de nombreux endroits n'est pas très appropriée, j'ai donc ajouté le texte anglais original

[title3]
On a View sur le composant view (View) [/title3]

Si votre application ne nécessite pas une quantité importante de traitement ou de vitesse de rafraîchissement (peut-être pour un jeu d'échecs, un jeu de serpent ou une autre application à animation lente), alors vous devriez envisager de créer un composant View personnalisé et un dessin avec un Canvas

View.onDraw()
.

L'aspect le plus pratique est que le framework Android vous fournira un Canvas prédéfini auquel vous passerez vos appels de dessin.

Si votre application ne nécessite pas beaucoup de traitement ou n'a pas d'exigences de fréquence d'images, comme les jeux de société, les serpents ou les applications d'animation lentes, vous pouvez envisager de créer un composant de vue personnalisé (View) et utilisez le canevas (Canvas) pour dessiner dans la méthode View.onDraw(). La plus grande commodité de cette opération est que la couche de structure Android vous fournira un plan de travail prédéfini (Canvas) que vous pourrez utiliser pour dessiner.

Pour commencer, étendez la

View
classe (ou son descendant

de celle-ci) et définissez la

onDraw()
callback

méthode. être appelé par le framework Android pour demander que votre View se dessine elle-même. C'est ici que vous effectuerez tous vos appels pour dessiner via le

Canvas
,

qui vous est transmis via le
.

onDraw()
rappel.


Tout d'abord, héritez de la classe (ou sous-classe) View et définissez la méthode de rappel onDraw(). Cette méthode sera appelée par la couche de framework Android, provoquant le dessin de votre vue. C'est ici que tous les appels de dessin dont vous avez besoin seront effectués et le canevas sera transmis via la méthode de rappel onDraw().

Le framework Android n'appellera

onDraw()
que si nécessaire. Chaque fois que votre candidature est prête à être tirée, vous devez demander l'invalidation de votre View en appelant

invalidate()
.

Cela indique que vous souhaitez que votre vue soit dessinée et Android appellera alors votre

onDraw()

method (though is not guaranteed that the callback will be instantaneous).

Android框架层只会在需要的时候调用onDraw()方法。每次当你的应用准备好需要去绘制的时候,你必须通过invalidate()方法使你的View无效。这表示你想要你的View被绘制并且Android将要回调你的onDraw()方法(不保证这个回调将会被及时执行)

Inside your View component's

onDraw()

, use the Canvas given to you for all your drawing, using various

Canvas.draw...()

methods,
or other class

draw()

methods that take your Canvas as an argument. Once your

onDraw()

is complete, the Android
framework will use your Canvas to draw a Bitmap handled by the system.

在你的View组件里的onDraw()方法中,使用给你的Canvas作你所有的绘制,使用各种各样的Canvas.draw...()方法,或者其他类的Draw()方法,这个类能够把给你的Canvas作为参数传入。一旦你的onDraw()方法完成,Android框架将要用你的Canvas去绘制一张位图。

Note: In order to request an invalidate from a thread other than your main Activity's thread, you must call

postInvalidate()

.

For information about extending the

View

class,
read Building Custom Components.

注意:你如果要从主Activity的线程外的线程中使View无效,你必须调用postInvalidate()方法,更多关于继承View类的信息,请阅读Building
Custom Components。

For a sample application, see the Snake game, in the SDK samples folder:

<your-sdk-directory>/samples/Snake/

.

一个程序示例,贪吃蛇游戏,放在SDK示例文件夹中,路径:

<your-sdk-directory>/samples/Snake/

以上就是Canvas and Drawables 翻译第三集的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn