Как можно анимировать 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)!


person jul    schedule 10.05.2011    source источник
comment
Попробуйте использовать setAnimation(...), чтобы установить анимацию для вашего объекта баннера перед использованием animateOpen()/animateClose()   -  person Squonk    schedule 10.05.2011
comment
Пробовал: анимируется только обработчик. Контента не видно :(   -  person jul    schedule 11.05.2011
comment
У меня такая же проблема. Вы нашли решение?   -  person robsf    schedule 10.12.2011


Ответы (1)


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

person starkej2    schedule 18.04.2012