Как можно анимировать SlidingDrawer?

#android #slidingdrawer

#Android #slidingdrawer

Вопрос:

Я пытаюсь открыть / закрыть свой slidingdrawer с помощью animateOpen() и animateClose() , но кажется, что он открывается и закрывается мгновенно, как open() и close() . Что не так?

Я видел, что SlidingDrawer нельзя настроить (например, нельзя анимировать пользовательской анимацией, даже с настраиваемой продолжительностью открытия / закрытия). Должен ли я копировать код SlidingDrawer только для изменения продолжительности анимации?

Спасибо

 protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.home);        

    // Open and close banner
    final SlidingDrawer banner = (SlidingDrawer) findViewById(R.id.banner);
    banner.animateOpen();
    Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
         public void run() { 
              banner.animateClose();
         } 
    }, 2000); 

    //...

}
  

Редактировать

Выполнение

 final SlidingDrawer banner = (SlidingDrawer) findViewById(R.id.banner);
final Animation hideBanner = AnimationUtils.loadAnimation(this, R.anim.hide_banner);
banner.setAnimation(showBanner);
  

анимирует только обработчик, хотя я не делаю banner.animateOpen() или banner.startAnimation(showbanner) !

Комментарии:

1. Попробуйте использовать setAnimation (…), чтобы установить анимацию на вашем объекте banner, прежде чем использовать animateOpen () / animateClose ()

2. Я пробовал: анимирован только обработчик. Содержимое не отображается : (

Ответ №1:

В этом видео на YouTube показан выдвижной ящик с пользовательской анимацией. Вы должны иметь возможность использовать или изменять этот код для решения вашей проблемы…