2013-09-23 111 views
2

非常简单:我在屏幕上添加一个动态按钮,添加后我尝试淡出它,但动画从不播放。我以后尝试在屏幕上显示时添加它,但仍然没有任何结果。以下是代码:Alpha动画不起作用

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)); 

任何想法?

回答

2

试试这个:

btn.setAlpha(0f); 
btn.animate().alpha(1).setDuration(1000); 
+0

尝试动画()以及。没有工作。 – Phat7

+0

这对我有用。很好,很直接。很好的答案! – ninjachippie

0

This answer可以解释,如果你已经在XML设置alpha为0,为什么你要这样奇怪的行为。

+1

如果SO上的另一个问题与此类似,并且在那里发布了解决此问题的答案,则应将其标记为另一个问题的副本。 – IKavanagh