Лупа как функция внутри всплывающего окна .... как? - PullRequest
0 голосов
/ 26 мая 2011

Мне нужно создать функцию лупы в моем приложении. Как эффект «лупа» на iphone! Проблема в том, что мне нужно сделать это во всплывающем окне, и я не понимаю, как заставить это работать!

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

Проблемы:

  • Я не могу создать еще одно всплывающее окно поверх этого, я думаю, ограничение Android?
  • Если я изменяю текущий shapeDrawable, меняю его размер, изменяю границы, ему нужно повторно отобразить всплывающее окно, прежде чем оно вступит в силу (что, конечно, неприемлемо)

Итак, кто-нибудь знает, как я могу рисовать во всплывающем окне?

РЕДАКТИРОВАТЬ:

Я пытался решить эту проблему с помощью объекта Custom Toast ... Но это не совсем помогает. Это работает, но всплывающий объект появляется медленно, поэтому движение касания вообще не синхронизировано с движением пользователя по цветовой сетке.

1 Ответ

0 голосов
/ 26 мая 2011

Я не уверен, поможет ли это вам или нет, но вы могли бы сделать это, используя второе действие ... это второе действие будет использовать прозрачную тему Android, если вы включите в свой манифест следующий атрибут:

Это второе занятие теперь будет содержать только то, что вы поместите в свой макет. То есть ... "реальная" активность, которую вы выполняете, будет по-прежнему видна за ней (везде, где вы не прикрываете ее представлениями в новом макете).

Вы также можете предпочесть Theme.Dialog, если вы действительно хотите напоминать всплывающее окно.

Что следует помнить, если вы выберете этот подход, вы, вероятно, захотите переопределить onWindowFocusChanged () в новом действии и окончания () в случае потери фокуса. Кроме того, вам необходимо выяснить, как распределить ваши данные между двумя действиями.

...