Actionbar Sherlock标题在第一次运行时显示为一秒

时间:2013-07-26 20:18:15

标签: android actionbarsherlock android-actionbar title

正如我在问题标题中所提到的,我想从动作栏中完全删除标题但是在第一次运行时(当我从eclipse运行它时)标题显示一段时间并且它不是我想要的

在onCreate方法中我添加了这两行代码及其工作但是晚了!!

getSupportActionBar().setTitle("");
getSupportActionBar().setDisplayShowTitleEnabled(false);

这2张照片可以帮助你了解我

enter image description here enter image description here

2 个答案:

答案 0 :(得分:1)

在您的清单中将主题设置为“无操作栏”,然后在设置内容视图后在代码中应用您的常规主题!

android:theme="@style/Theme.Sherlock.Light.NoActionBar"

然后。

    this.setTheme(R.style.myTheme); 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

答案 1 :(得分:1)

当您的代码隐藏actionBar标题时,在您的活动加载时以及在代码中删除标题之前,仍会显示标题。

如果您想从一开始就在所有活动中从操作栏中删除标题,我认为更好的解决方案是通过设置主题并覆盖操作栏样式来实现。

为此,您必须在styles.xml中创建一个样式,并将其用作应用程序主题,例如

        <style name="AppTheme" parent="Theme.Sherlock.Light.DarkActionBar">
            <item name="android:actionBarStyle">@style/AppTheme.ActionBarStyle</item
            <item name="actionBarStyle">@style/AppTheme.ActionBarStyle</item>
        </style>
        <style name="AppTheme.ActionBarStyle" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
            <item name="android:titleTextStyle">@style/AppTheme.ActionBarStyle.TitleTextStyle</item>
            <item name="titleTextStyle">@style/AppTheme.ActionBarStyle.TitleTextStyle</item>
        </style>
        <style name="AppTheme.ActionBarStyle.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
            <item name="android:textSize">0dp</item>
            <item name="textSize">0sp</item>
            <item name="android:textColor">#00000000</item>
            <item name="textColor">#00000000</item>
        </style>

或其他例子:

    <style name="AppTheme" parent="Theme.Sherlock.Light.DarkActionBar">
        <item name="android:actionBarStyle" tools:ignore="NewApi">@style/AppTheme.ActionBarStyle</item>
        <item name="actionBarStyle">@style/AppTheme.ActionBarStyle</item>
    </style>
    <style name="AppTheme.ActionBarStyle" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
        <item name="android:displayOptions" tools:ignore="NewApi">useLogo|showHome</item>
        <item name="displayOptions">useLogo|showHome</item>
    </style>

这些代码示例来自我使用actionbarsherlock的一些项目,因此您可能需要根据需要进行编辑。

希望它有所帮助。