我有一个自定义对话框类,用于在触摸时弹出图像。对话框显示在屏幕中央。我正在设置弹出窗口并按下该对话框的动画。
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" />
这些动画效果很好。通过使用这些动画,对话框会弹出屏幕中心。
但是我想让这个对话框从图像中心弹出并显示在屏幕中央。否则如何从图像中心开始对话并显示在屏幕中央? 怎么可能?
谢谢,
答案 0 :(得分: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>
答案 1 :(得分:0)
你唯一需要的是在动画开始之前进行计算 - 图像的中心(像View.getLocationOnScreen()
或View.getLocationInWindow()
一样调用smth。)
答案 2 :(得分: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" />