1

我有一个自定义对话框类,用于在触摸它时弹出图像。对话框显示在屏幕的中心。我正在为此对话框设置弹出和下推动画。

popup_show.xml

<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="250"
    android:fromXScale="0.0"
    android:fromYScale="0.0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="1.0"
    android:toYScale="1.0" />

popup_hide.xml

<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="250"
    android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="0.0"
    android:toYScale="0.0" />

这些动画完美地工作。通过使用这些动画,对话框会弹出屏幕的中心。

但我想让这个对话框从图像的中心弹出并显示在屏幕的中心。否则如何从图像中心开始对话并显示在屏幕中心?怎么可能?

谢谢,

4

3 回答 3

1

我认为这 mi8 帮助:

<scale                
android:toXScale="1.0"              
android:fromXScale="0.0"            

android:toYScale="1.0"
android:fromYScale="0.0"

android:pivotX="0%"
android:pivotY="0%"

android:startOffset="100"
android:duration="1000">
</scale>
于 2012-09-24T10:34:41.900 回答
0

似乎可以使用resourcescode

您唯一需要做的就是在动画开始之前进行计算 - 图像的中心(调用 smth like View.getLocationOnScreen()or View.getLocationInWindow())。

于 2012-09-24T10:24:53.973 回答
0

使用这种风格

<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="250"
    android:fromXScale="0.0"
    android:fromYScale="0.0"
    android:pivotX="50%"
    android:pivotY="0"
    android:toXScale="1.0"
    android:toYScale="1.0" />
于 2012-09-25T04:38:28.010 回答