3

很简单:我在屏幕上添加了一个动态按钮,添加后我尝试将其淡出,但动画从不播放。当它已经呈现在屏幕上时,我稍后尝试添加它,但仍然没有。下面是代码:

btn = new ImageButton(context);
btn.setBackgroundColor(0xFFFF0000);

params = new WindowManager.LayoutParams(
    width,height,
    WindowManager.LayoutParams.TYPE_SYSTEM_ALERT | 
    WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
    WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH |
    WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
    PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP | Gravity.LEFT;

windowManager.addView(btn, params);

btn.startAnimation(new AlphaAnimation(1,0));

有任何想法吗?

4

2 回答 2

7

Try this:

btn.setAlpha(0f);
btn.animate().alpha(1).setDuration(1000);
于 2013-09-23T08:28:01.280 回答
0

如果您在 xml.xml 中将 alpha 设置为 0,这个答案可以解释为什么会出现这种奇怪的行为。

于 2015-08-10T21:07:49.380 回答