2013-06-26 4 views
1

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

эта тема Animate a custom Dialog дал мне идею, и я пришел к этому XML:

<scale 
    android:duration="500" 
    android:fromXScale="0.0" 
    android:fromYScale="0.0" 
    android:pivotX="20%p" 
    android:pivotY="20%p" 
    android:toXScale="1.0" 
    android:toYScale="1.0" /> 

, но я не знаю, как динамически установить стартовую позицию, привести свою позицию смены кнопки.

любая идея?

ТКС много ....

+0

Возможный дубликат [Показать диалоговое окно с анимацией, растущей из точки] (http://stackoverflow.com/questions/13402782/show-dialogfragment-with-animation-growing-from-a-point) –

ответ

2

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

Редактировать - Или вы можете найти полезным использовать вместо диалогового окна PopupWindow, используя координаты, которые вы можете получить через getLocationOnScreen в методе showAtLocation().

+1

Это не было вопрос. Диалог должен быть всегда в центре. Я хочу установить анимацию открытого масштаба в этот диалог и установить начальную позицию для этого масштаба. Например: диалоговое окно будет отображаться в положении x = 20, y = 200 и увеличиваться, и больше, до размера его на центральном экране. Понял? – JannGabriel

+0

Хорошо, я получил, поэтому забудьте showAtLocation и используйте getLocationOnScreen, чтобы получить позицию Button, но вам нужно будет рассчитать анимацию «на лету», чтобы получить ее правильно. Извините, я не знаю никакой готовой анимации. –

+0

Это моя проблема. Анимация на лету: D. Я знаю, что это возможно, потому что facebook это делает. Но все равно не нашел пути. знак равно – JannGabriel