Итак, я использовал ActionBarSherlock и решил переключиться на новый ActionBarCompat. С ABS, скрытие ActionBar было возможно, используя способ, описанный в этом сообщении: Как скрыть панель действий до создания активности, а затем снова показать ее?
Но с ActionBarCompat приложение вылетает из API14, потому что, когда вы устанавливаете android:windowActionBar
как false
, метод getSupportActionBar()
возвращает значение null, даже если вы объявили getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
в метод onCreate()
.
Забавно, что если вы вызываете getActionBar()
вместо этого, вы получаете объект, и все работает нормально.
Итак, это ошибка или я что-то упускаю? Любые идеи приветствуются!
styles.xml
файл:
<style name="Theme.MyApp" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:windowActionBar">false</item>
<item name="android:windowTitleSize">0dp</item>
</style>
MyActivity.java
файл:
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the action bar feature. This feature is disabled by default into the theme
// for specific reasons.
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
...
// By default the action bar is hidden.
getSupportActionBar().hide();
}