캔버스와 드로어블 번역 에피소드 3

黄舟
풀어 주다: 2017-01-16 16:47:02
원래의
1200명이 탐색했습니다.


Android 공식 원본 주소: http://developer.android.com/guide/topics/graphics/2d-graphics.html

------다음 번역 제 생각을 반영해 이해하기 쉽게 번역한 부분이 많아 뷰 컴포넌트(View)에 영문 원문

[title3]
을 추가했습니다. [/title3]

애플리케이션에 상당한 양의 처리나 프레임 속도 속도가 필요하지 않은 경우(예: 체스 게임, 스네이크 게임 또는 기타 느린 애니메이션 애플리케이션의 경우) 사용자 정의 View 구성 요소와 Canvas를 사용하여

View.onDraw()
로그인 후 복사


그리는 작업의 가장 편리한 측면은 Android 프레임워크가 사전 정의된 Canvas를 제공한다는 것입니다. 드로잉 호출을 하게 됩니다.

보드 게임, 뱀 또는 느린 애니메이션 애플리케이션과 같이 애플리케이션에 많은 처리가 필요하지 않거나 프레임 속도 요구 사항이 없는 경우 사용자 정의 보기 생성을 고려할 수 있습니다. 컴포넌트(View) 그리고 드로잉 보드(Canvas)를 사용하여 View.onDraw() 메서드에서 그립니다. 이 작업의 가장 큰 편리함은 Android 프레임워크 레이어가 그리는 데 사용할 수 있는 사전 정의된 아트보드(캔버스)를 제공한다는 것입니다.

시작하려면

View
로그인 후 복사
로그인 후 복사

클래스(또는 그 하위
)를 확장하고

onDraw()
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

콜백
메서드를 정의하세요. View 그리기를 요청하는 Android 프레임워크는

Canvas
로그인 후 복사

콜백을 통해 전달되는

onDraw()
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

를 통해 그리기 위한 모든 호출을 수행하는 곳입니다.

먼저 View 클래스(또는 하위 클래스)를 상속하고 onDraw() 콜백 메서드를 정의합니다. 이 메소드는 Android 프레임워크 레이어에 의해 호출되어 뷰가 스스로 그려지도록 합니다. 여기에서 필요한 모든 그리기 호출이 수행되고 캔버스는 onDraw() 콜백 메서드를 통해 전달됩니다.

Android 프레임워크는 필요한 경우에만

onDraw()
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

를 호출합니다. 애플리케이션을 그릴 준비가 될 때마다

invalidate()
로그인 후 복사

를 호출하여 뷰가 무효화되도록 요청해야 합니다.
이는 View를 그려야 한다는 뜻이며 그러면 Android에서 View를 호출합니다.

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中文网(m.sbmmt.com)!


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!