Android: отображение двумерной анимации поверх существующего представления / действия

#java #android

#java #Android

Вопрос:

Я пару часов бился головой о стену, пытаясь придумать наилучший способ наложения анимации поверх текущего представления. У меня есть ListView, и я хочу отображать анимацию (скажем, покадровый взрыв бомбы) поверх ListView, когда пользователь нажимает кнопку.

Может ли кто-нибудь указать мне правильное направление?

Ответ №1:

Это то, что вы ищете: http://developer.android.com/reference/android/view/SurfaceView.html

По ссылке:

Поверхность упорядочена по Z, так что она находится за окном, содержащим SurfaceView; SurfaceView пробивает отверстие в своем окне, чтобы отобразить его поверхность. Иерархия представлений позаботится о правильном объединении с Surface любых аналогов SurfaceView, которые обычно отображаются поверх него. Это можно использовать для размещения оверлеев, таких как кнопки, поверх поверхности, хотя учтите, однако, что это может повлиять на производительность, поскольку при каждом изменении поверхности будет выполняться полное альфа-смешанное композитное изображение.

Или вы могли бы создать подкласс ListView и использовать canvas для рисования любых 2d-материалов, которые вы хотите:http://developer.android.com/guide/topics/graphics/2d-graphics.html