如何使用导航抽屉添加自定义操作栏?

时间:2014-01-10 08:44:07

标签: android navigation-drawer android-actionbar-compat

我尝试将自定义操作栏用作:

bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
        bar.setCustomView(R.layout.xyz);

但导航抽屉变得不可见。

3 个答案:

答案 0 :(得分:11)

我遇到了同样的问题,但我找到了解决问题的方法。你需要设置:

getActionBar().setCustomView(R.layout.xyz);
getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_HOME_AS_UP);

然后,它将显示导航抽屉+图标。

如果您不希望图标可见,您可以放置​​透明图像(只需制作透明图像transparent.png并放入可绘制文件夹)而不是应用图标。您可以通过为操作栏(styles.xml)定义新样式来实现此目的:

<style name="Theme.MyAppTheme" parent="android:style/Theme.Holo.Light">
     <item name="android:actionBarStyle">@style/Theme.MyAppTheme.ActionBar</item>
</style>
<style name="Theme.MyAppTheme.ActionBar" parent="android:style/Widget.Holo.Light.ActionBar">
    <item name="android:icon">@drawable/transparent</item>
</style>

答案 1 :(得分:1)

对我来说工作:

getActionBar().setCustomView(R.layout.xyz); getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME);

答案 2 :(得分:1)

actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_HOME_AS_UP);