我正在某个项目上使用支持库v7。我正在尝试实例化支持操作栏,如下所示:
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setCustomView(R.layout.top_action_bar);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setHomeButtonEnabled(true);
在api级别低于11的android设备上一切正常。然而,当尝试在较新的设备上运行相同的代码时(如带有Android4+的Samsung Galaxy S4),getSupportActionBar()总是返回null,从而导致预期的崩溃。
我正在使用此样式文件:
<style name="my_style" parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/my_style_ab</item>
<item name="android:windowNoTitle">true</item>
</style>
<style name="my_style_ab" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:height">70dp</item>
</style>
有什么不对劲的暗示吗?我认为这与风格有关,或者我只是不能在高于11的api lvl上使用支持actionbar。提前谢谢。
最佳答案
将android:windowNoTitle
与true
一起使用会隐藏您的ActionBar