2013-09-23 4 views
2

Довольно просто: я добавляю динамическую кнопку на экране, и я пытаюсь ее погасить после добавления, но анимация никогда не воспроизводится. Я попытался добавить его позже, когда он уже отображается на экране, но все равно ничего. Ниже приведен код:Альфа-анимация не работает

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 может объяснить, почему вы получаете такое странное поведение, если вы установили альфа 0 в XML.

+1

Если еще один вопрос о SO похож на этот вопрос, и там есть ответ, который будет решать этот вопрос, вы должны отметить это как дубликат другого вопроса. – IKavanagh

Смежные вопросы