setAnimationStyle не работает на Android 2.3.5 - PullRequest
1 голос
/ 07 января 2012

Я написал код, который использует setAnimationStyle во всплывающем окне, когда я проверял код на устройстве Galaxy 1 под управлением ОС Android 2.2, все работало отлично.Но когда я пробую это на устройстве Galaxy 2 под управлением ОС Android 2.3.5, анимация больше не работает.

вот код.Спасибо.

это определение анимации в style.xml

<style name="AnimationPopup" parent="android:Animation">
        <item name="@android:windowEnterAnimation">@anim/popup_menu</item>
    <item name="@android:windowExitAnimation">@anim/fadeout</item>
</style>  

это анимация, расположенная в res / anim

   <translate xmlns:android="http://schemas.android.com/apk/res/android"
      android:fromYDelta="100%"
      android:toYDelta="0"
     android:duration="300" 
    />

<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
        <alpha android:fromAlpha="1.0" android:toAlpha="0.0"    android:interpolator="@android:anim/accelerate_interpolator" 
android:duration="500"/>
</set>

это код, который я использую вактивность:

_menu = new PopupWindow(googlePopupInflator);
_menu.setOutsideTouchable(true);
_menu.setAnimationStyle(R.style.AnimationPopup);
_menu.showAtLocation(getWindow().getDecorView(), Gravity.BOTTOM, 0, 0);

1 Ответ

0 голосов
/ 27 апреля 2012

Я столкнулся с той же проблемой при переходе на 2.3.4 Сделал обходной путь: Анимировать элементы управления в PopupWindow.Мое PopupWindow содержало основной линейный макет и внутри него дочерние линейные макеты.Я пытался оживить основной линейный макет - не удалось.Затем я попытался анимировать макеты детей и добился успеха.Применил к каждому из них анимацию перевода (разные экземпляры анимации для каждого), и я анимировал их сразу после показа PopupWindow.Все они скользят в них одновременно - чистый эффект - как если бы PopupWindow было анимировано само собой.

...