Introducing the Surface ViewUnder normal circumstances, all your appli dịch - Introducing the Surface ViewUnder normal circumstances, all your appli Việt làm thế nào để nói

Introducing the Surface ViewUnder n

Introducing the Surface View
Under normal circumstances, all your application’s Views are drawn on the same GUI thread. This main application thread is also used for all user interaction (such as button clicks or text entry).
In Chapter 9, “Working in the Background,” you learned how to move blocking processes onto background threads. Unfortunately, you can’t do this with the onDraw method of a View; modifying a GUI element from a background thread is explicitly disallowed.
When you need to update the View’s UI rapidly, or the rendering code blocks the GUI thread for too long, the SurfaceView class is the answer. A Surface View wraps a Surface object rather than a Canvas object. This is important because Surfaces can be drawn on from background threads.
This is particularly useful for resource-intensive operations, or where rapid updates or high frame rates are required, such as when using 3D graphics, creating games, or previewing the camera in real time.
The ability to draw independently of the GUI thread comes at the price of additional memory con¬sumption, so although it’s a useful — sometimes necessary — way to create custom Views, you should use Surface Views with caution.
When to Use a Surface View
You can use a Surface View in exactly the same way you use any View-derived class. You can apply animations and place them in layouts as you would any other View.
The Surface encapsulated by the Surface View supports drawing, using most of the standard Canvas methods described previously in this chapter, and also supports the full OpenGL ES library.
Surface Views are particularly useful for displaying dynamic 3D images, such as those featured in interactive games that provide immersive experiences. They’re also the best choice for displaying real-time camera previews.
Creating Surface Views
To create a new Surface View, create a new class that extends SurfaceView and implements SurfaceHolder.Callback. The SurfaceHolder callback notifies the View when the underlying Surface is created, destroyed, or modified. It passes a reference to the SurfaceHolder object that contains a valid Surface. A typical Surface View design pattern includes a Thread-derived class that accepts a reference to the current SurfaceHolder and independently updates it.
Listing 11-8 shows a Surface View implementation for drawing using a Canvas. A new Thread- derived class is created within the Surface View control, and all UI updates are handled within this new class.
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Giới thiệu giao diện bề mặtDưới tình huống bình thường, tất cả các ứng dụng của bạn của cảnh được rút ra trên thread GUI tương tự. Chủ đề chính ứng dụng này cũng được sử dụng cho tất cả các tương tác người dùng (chẳng hạn như nhấp chuột nút hoặc mục nhập văn bản).Trong chương 9, "Làm việc trong các nền," bạn biết làm thế nào để di chuyển các quy trình chặn vào nền chủ đề. Thật không may, bạn không thể làm điều này với các phương pháp onDraw nhìn; Sửa đổi một yếu tố GUI từ một chủ đề nền một cách rõ ràng không cho phép.Khi bạn cần phải Cập Nhật giao diện giao diện người dùng nhanh chóng, hoặc rendering mã khối GUI thread cho quá dài, lớp SurfaceView là câu trả lời. Một cái nhìn bề mặt kết thúc tốt đẹp đối tượng bề mặt chứ không phải là một đối tượng vải. Điều này là quan trọng bởi vì bề mặt có thể được rút ra từ nền tảng chủ đề.Điều này đặc biệt hữu ích cho hoạt động tài nguyên-chuyên sâu, hay nơi Cập Nhật nhanh chóng hoặc tỷ lệ khung hình cao được yêu cầu, chẳng hạn như khi sử dụng đồ họa 3D, tạo ra trò chơi, hoặc máy ảnh trong thời gian thực xem trước.Khả năng vẽ độc lập với các chủ đề GUI đi kèm với mức giá của bộ nhớ bổ sung con¬sumption, vì vậy, mặc dù nó là một hữu ích-đôi khi cần thiết-cách để tạo ra các tùy chỉnh lượt xem, bạn nên sử dụng bề mặt xem cẩn thận.Khi sử dụng một cái nhìn bề mặtBạn có thể sử dụng một bề mặt xem chính xác giống như cách bạn sử dụng bất kỳ lớp học có nguồn gốc xem. Bạn có thể áp dụng các hình ảnh động và đặt chúng trong bố trí như bạn sẽ bất kỳ khác xem.Bề mặt đóng gói của giao diện bề mặt hỗ trợ vẽ, bằng cách sử dụng hầu hết các phương pháp vải tiêu chuẩn được mô tả trước đó trong chương này, và cũng hỗ trợ thư viện OpenGL ES đầy đủ. Bề mặt đặc biệt hữu ích để hiển thị hình ảnh 3D động, chẳng hạn như những đặc trưng trong các trò chơi tương tác cung cấp những kinh nghiệm nhập vai. Chúng tôi cũng là sự lựa chọn tốt nhất cho hiển thị các máy ảnh thời gian thực xem trước.Tạo bề mặt lượt xemĐể tạo ra một cái nhìn bề mặt mới, tạo ra một lớp mới mà kéo dài SurfaceView và thực hiện các SurfaceHolder.Callback. Gọi lại SurfaceHolder thông báo cho giao diện khi bề mặt cơ bản tạo ra, bị phá hủy, hoặc sửa đổi. Nó đã vượt qua một tham chiếu đến các đối tượng SurfaceHolder có một bề mặt hợp lệ. Mẫu thiết kế bề mặt View điển hình bao gồm một lớp học có nguồn gốc chủ đề chấp nhận một tham chiếu đến SurfaceHolder hiện tại và độc lập, Cập nhật nó.Danh sách 11-8 cho thấy một thực hiện bề mặt View cho vẽ kỹ thuật bằng cách sử dụng một vải. Lớp mới trên Thread-có nguồn gốc được tạo ra trong vòng kiểm soát xem bề mặt, và tất cả giao diện người dùng Cập Nhật được xử lý trong lớp mới này.
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Giới thiệu Xem Surface
Trong những trường hợp bình thường, tất cả xem ứng dụng của bạn được vẽ trên các chủ đề giao diện tương tự. Chủ đề chính của ứng dụng này cũng được sử dụng cho tất cả các tương tác người dùng (như nút bấm hoặc nhập văn bản).
Trong chương 9, "Làm việc trong nền", bạn đã học cách di chuyển chặn quá trình lên đề nền. Thật không may, bạn không thể làm điều này với các phương pháp onDraw của một Xem; sửa đổi một yếu tố giao diện từ một sợi nền là không được phép một cách rõ ràng.
Khi bạn cần cập nhật giao diện người dùng của Xem nhanh chóng, hoặc mã vẽ khối các chủ đề giao diện quá lâu, lớp SurfaceView là câu trả lời. Một mặt Xem kết thúc tốt đẹp một đối tượng bề mặt chứ không phải là một đối tượng Canvas. Điều này quan trọng bởi vì bề mặt có thể được vẽ trên từ chủ đề nền.
Điều này đặc biệt hữu ích cho các hoạt động tài nguyên-chuyên sâu, hoặc nơi cập nhật nhanh hay tốc độ khung hình cao được yêu cầu, chẳng hạn như khi sử dụng đồ họa 3D, tạo ra trò chơi, hoặc xem trước máy ảnh trong thời gian thực . Hiện
khả năng vẽ độc lập của các chủ đề giao diện đi kèm với giá thêm con¬sumption nhớ, do đó mặc dù đó là một hữu ích - đôi khi cần thiết -. cách tuỳ chỉnh để tạo Views, bạn nên sử dụng Surface lần thận trọng
Khi sử dụng một bề mặt Xem
bạn có thể sử dụng một bề mặt Xem chính xác giống như cách bạn sử dụng bất kỳ xem có nguồn gốc lớp. Bạn có thể áp dụng các hình ảnh động và đặt chúng trong bố trí như bạn sẽ bất kỳ Xem khác.
Các bề mặt được bao bởi mặt Xem hỗ trợ bản vẽ, sử dụng hầu hết các phương pháp Canvas chuẩn được mô tả trước đó trong chương này, và cũng hỗ trợ thư viện OpenGL ES đầy đủ.
Surface xem đặc biệt hữu ích cho việc hiển thị hình ảnh 3D sống động, chẳng hạn như những đặc trưng trong trò chơi tương tác cung cấp các kinh nghiệm nhập vai. Họ cũng là những lựa chọn tốt nhất cho việc hiển thị xem trước máy ảnh thời gian thực.
Tạo bề mặt Lần
Để tạo một View bề mặt mới, tạo ra một lớp mới mà kéo dài SurfaceView và thực hiện SurfaceHolder.Callback. Các SurfaceHolder gọi lại thông báo cho các Xem khi bề mặt cơ bản được tạo ra, phá hủy, hoặc sửa đổi. Nó vượt qua một tham chiếu đến đối tượng SurfaceHolder có chứa một bề mặt hợp lệ. Một mặt Xem thiết kế mô hình điển hình bao gồm một lớp Thread có nguồn gốc từ chấp nhận một tham chiếu đến SurfaceHolder hiện tại và độc lập cập nhật nó.
Liệt 11-8 cho thấy một bề mặt Xem thực hiện cho các bản vẽ sử dụng một Canvas. Một lớp học có nguồn gốc Thread- mới được tạo ra trong các bề mặt Xem kiểm soát, và tất cả các bản cập nhật giao diện người dùng được xử lý trong lớp mới này.
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: