2014-02-28 72 views
1

我已经实现了右侧菜单(带有三个点)和左侧的导航抽屉。Android - 如何隐藏操作栏上的应用程序图标

我的应用程序图标,我用:

getActionBar().setIcon(R.color.Transparent); 

但它发生在应用程序启动时,它显示的图标,然后它去透明,我想简单地初始化我的应用程序没有图标。

我也想知道如何将文本与我的应用/活动名称居中。

app bar

+0

你应该阅读这篇文章:http://cyrilmottier.com/2013/01/23/android-app-launching-made-gorgeous由Cyril Mottier。它解释了自定义样式,特别是ActionBar,可以更高效地启动您的应用程序。 – Fllo

回答

2

我会建议你使用样式为你的动作条。

在values文件夹下的styles.xml文件中,您可以对其进行编辑,使AppTheme为您的操作栏使用特定的样式。在这种特定的风格中,你可以声明你的图标属性。这让我们从动态栏知道你有一个特定的图标,并显示它开始消除暂停。

styles.xml

<resources> 

<!-- 
    Base application theme, dependent on API level. This theme is replaced 
    by AppBaseTheme from res/values-vXX/styles.xml on newer devices. 
--> 
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light"> 
    <!-- 
     Theme customizations available in newer API levels can go in 
     res/values-vXX/styles.xml, while customizations related to 
     backward-compatibility can go here. 
    --> 
</style> 

<!-- Application theme. --> 
<style name="AppTheme" parent="AppBaseTheme"> 
    <!-- All customizations that are NOT specific to a particular API-level can go here. --> 
    <item name="actionBarStyle">@style/MyActionBarStyle</item> 
</style> 


<style name="MyActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> 
    <item name="icon">@android:color/transparent</item> 
</style> 
</resources> 

正如你可以在风格“AppTheme”我看到添加:

<item name="actionBarStyle">@style/MyActionBarStyle</item> 

这说明,我想我的应用程序考虑到了自定义样式动作条被称为“MyActionBarStyle”

您还可以看到我,我宣布风格:

<style name="MyActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> 
    <item name="icon">@android:color/transparent</item> 
</style> 

在此声明中,我可以将图标设置为drawable或color(正如我们在此实例中所做的那样)。希望这可以帮助。

此外,此示例假定您正在使用支持库。如果不是,那么只要确保用'Holo'替换'AppCompat',用'android:icon'替换'icon',用'android:actionBarStyle'替换'actionBarStyle'。我了解到,难道:)

+0

它通过替换您告诉我替换的内容,并替换“android:”替换了“@ style /”,并通过“@ style/MyActionBarStyle”更改了应用程序主题的清单。谢谢 – Bugdr0id

1

如下您可以通过编程做到这一点:

getActionBar().setIcon(new ColorDrawable(getResources().getColor(android.R.color.transparent))); 

希望它能帮助!

商祺!

+0

此解决方案与我的类似,不起作用。它具有相同的效果:当应用程序启动时显示图标,然后变为透明。 – Bugdr0id

1

试试这个,动作条的支持,

setDisplayShowHomeEnabled(false); 
+0

工程就像一个魅力,谢谢! –

0

试试这个,

actionBar.setDisplayUseLogoEnabled(false); 
相关问题