我正在某个项目上使用支持库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:windowNoTitletrue一起使用会隐藏您的ActionBar

08-18 16:30
查看更多