弹出 Window 动画不工作
Popup Window Animation not working
我正在尝试为 Popup Window 制作动画,当它从视图底部显示时带有 push_up 动画,当关闭时带有 push_up 动画。但是不起作用,弹出窗口正常显示默认动画(非常快)。
这是我的代码:
push_up_in.xml
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="1000"
android:fromYDelta="100%p"
android:toYDelta="0" />
<alpha
android:duration="1000"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>
push_up_out.xml
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="1000"
android:fromYDelta="0"
android:toYDelta="-100%p" />
<alpha
android:duration="1000"
android:fromAlpha="1.0"
android:toAlpha="0.0" />
</set>
styles.xml
<style name="popup_anim">
<item name="android:windowEnterAnimation">@anim/push_up_in</item>
<item name="android:windowExitAnimation">@anim/push_up_out</item>
</style>
弹出窗口 Window 显示在代码中的位置:
final PopupWindow pw = new PopupWindow(popview, 100, 100, true);
pw.setBackgroundDrawable(new BitmapDrawable());
pw.setOutsideTouchable(true);
pw.setAnimationStyle(R.style.popup_anim);
pw.showAtLocation(this.findViewById(R.id.map_layout),
Gravity.BOTTOM, 0, 0);
View map = (View) findViewById(R.id.map);
int mapwidth = map.getWidth();
int mapheight = map.getHeight();
int popuph = (int) (mapheight * 0.3);
pw.update(mapwidth, popuph);
有什么想法吗?
我没看到你在哪里设置了内容视图,可能没有什么可显示的。
如果不是这样,请尝试将 null 传递给背景可绘制对象,并为其中的布局设置背景,这解决了我的项目中颜色显示错误的一些问题。
我正在尝试为 Popup Window 制作动画,当它从视图底部显示时带有 push_up 动画,当关闭时带有 push_up 动画。但是不起作用,弹出窗口正常显示默认动画(非常快)。 这是我的代码:
push_up_in.xml
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="1000"
android:fromYDelta="100%p"
android:toYDelta="0" />
<alpha
android:duration="1000"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>
push_up_out.xml
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="1000"
android:fromYDelta="0"
android:toYDelta="-100%p" />
<alpha
android:duration="1000"
android:fromAlpha="1.0"
android:toAlpha="0.0" />
</set>
styles.xml
<style name="popup_anim">
<item name="android:windowEnterAnimation">@anim/push_up_in</item>
<item name="android:windowExitAnimation">@anim/push_up_out</item>
</style>
弹出窗口 Window 显示在代码中的位置:
final PopupWindow pw = new PopupWindow(popview, 100, 100, true);
pw.setBackgroundDrawable(new BitmapDrawable());
pw.setOutsideTouchable(true);
pw.setAnimationStyle(R.style.popup_anim);
pw.showAtLocation(this.findViewById(R.id.map_layout),
Gravity.BOTTOM, 0, 0);
View map = (View) findViewById(R.id.map);
int mapwidth = map.getWidth();
int mapheight = map.getHeight();
int popuph = (int) (mapheight * 0.3);
pw.update(mapwidth, popuph);
有什么想法吗?
我没看到你在哪里设置了内容视图,可能没有什么可显示的。 如果不是这样,请尝试将 null 传递给背景可绘制对象,并为其中的布局设置背景,这解决了我的项目中颜色显示错误的一些问题。