我正在编写自定义Toast,并使用系统样式资源进行动画制作。
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.height = LayoutParams.WRAP_CONTENT;
lp.width = LayoutParams.WRAP_CONTENT;
lp.format = PixelFormat.TRANSLUCENT;
lp.flags = LayoutParams.FLAG_NOT_FOCUSABLE | LayoutParams.FLAG_NOT_TOUCHABLE;
lp.type = LayoutParams.TYPE_TOAST;
lp.windowAnimations = android.R.style.Animation_Translucent;
mWindowManager.addView(view, lp);
这不是输入动画的目标,但适用于退出动画,android.R.style.Animation_Translucent定义如下:
<style name="Animation.Translucent">
<item name="windowEnterAnimation">@anim/translucent_enter</item>
<item name="windowExitAnimation">@anim/translucent_exit</item>
</style>
有人可以帮助,谢谢!
昨晚我再试一次,发现了一个不同的发现。在黑暗主题(holo)中它只适用于退出动画,但在浅色主题(holo_light)中,它适用于进入和退出动画。如果我改为灯光主题,运行动画一次,然后改回黑暗主题,它也适用于两个动画。太奇怪了。