ouya ActionBar против стиля и анимации запуска Android
Что я хочу сделать: скрыть панель действий (и строку заголовка) приложения во втором или двух, во время которых приложение запускается.
Android-устройства Ouya имеют настроенные темы ActionBar, чтобы минимизировать проблемы с пересканированием. (В отличие от Google TV, устройства ouya не имеют процедуры калибровки за пределами сканирования, поэтому разработчики Ouya добавили массивные отступы вокруг элементов в стандартных темах, совместимых с ActionBar). Это работает хорошо для темных голографических тем и диалоговых тем. К сожалению, стандартные световые экшн-панели с голографической темой выглядят ужасно на устройствах Ouya.
Это вызывает у меня большое горе в анимации запуска, так как я портирую существующее приложение для Android на Ouya.
Так как мне нужно сделать немало настроек, чтобы приспособить игровые контроллеры Ouya, я подумал, что не буду использовать панель действий, когда обнаружу, что я работаю на Ouya. Поэтому я вызываю getActionBar(). Hide(), а затем загружаю специфичный для Ouya макет с дополнительными функциями только для устройств Ouya.
Проблема: во время запуска приложения Android отображает пустую панель действий во время загрузки приложения (только значок приложения и заголовок приложения) и использует для этого темы по умолчанию, как считывается из файла манифеста. Задержка довольно значительная - около двух секунд или около того, поэтому вспышка иконки приложения и искаженного ActionBar довольно заметна. Все это происходит до того, как в моем приложении будет выполнена первая строка кода. Если я установлю точку останова на конструкторе моего основного действия, экран искаженного заголовка будет отображаться в течение полных двух секунд, прежде чем будет достигнута точка останова.
Добавление
<item name="android:windowNoActionBar">true</item>
кажется, не имеет никакого эффекта. Возможно, что Android отображает заголовок вместо фиктивной панели действий. добавление
<item name="android:windowNoTitle">true</item>
в тему приложения НЕ скрывает фиктивную панель действий, но вызывает длинный болезненный ряд сбоев в коде библиотеки ActionBarCompat.
Есть ли хороший чистый способ контролировать то, что отображается во время запуска, без последующего нарушения кода ActionBarCompat?
<item name="android:windowDisablePreview">true</item>
Кажется, это один из способов, хотя это немного тревожит, поскольку запуск теперь просто задерживается на две секунды.:-/
Дополнительные требования: Мне бы очень хотелось, чтобы один двоичный файл как для Ouya, так и для обычных устройств Android, так что изменения манифеста и стиля нежелательны, если они не будут работать разумно на всех платформах.