Я использую ActionBarSherlock, и пытается скрыть/показать ActionBar для полноэкранных изображений, используя:ActionBar или ActionBarSherlock - Плавно Скрыть/Показать ActionBar
getSupportActionBar.hide();
и
getSupportActionBar.show();
Но это действительно нервный и неуклюжий. Есть ли способ сделать его более плавным или применить анимацию трансляции/непрозрачности?
При дальнейшей проверке источника ABS и наблюдении за его поведением, похоже, определено как минимум минимальное количество анимации. То же самое нельзя сказать о стандартном ActionBar.
Просто для полноты картины, вот соответствующий код я звонок от ImageView.click:
if(shouldRender)
{
. . .
getSupportActionBar().hide();
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
else
{
. . .
getSupportActionBar().show();
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
Стоит отметить, что флаги установка/сброс также вызывает скачок, но гораздо менее заметен один , поэтому я собирался заняться этим позже, если вообще.
Редактировать:This (автор АБС), похоже, заявляет, что это невозможно на родном ActionBar. Полагаю, я мог бы просто отредактировать два файла XML, которые определяют его анимацию, но это не даст мне полного проникновения на платформу.
Что такое оверлейный ActionBar? Можете ли вы предоставить дополнительную информацию? – greg7gkb
'requestWindowFeature (com.actionbarsherlock.view.Window.FEATURE_ACTION_BAR_OVERLAY);', – Salw
Официальная документация по теме: http://developer.android.com/reference/android/view/Window.html#FEATURE_ACTION_BAR_OVERLAY –