如何从Android ActionBar中删除标题文本?

Chr*_*rry 103 android android-actionbar

我正在浏览Holo.Light主题,我似乎无法找到魔术风格来覆盖我的应用程序首次启动时短暂显示的标题文本.

我怎样才能做到这一点?

Fil*_*zza 213

尝试:

getActionBar()setDisplayShowTitleEnabled(假).

对于第7节:

getSupportActionBar()setDisplayShowTitleEnabled(假).

  • 您仍然会在操作栏加载时看到标题,这不是您想要的.正确的解决方案是m3n0R建议的. (22认同)
  • 它应该是getSupportActionBar().setDisplayShowTitleEnabled(false); 对于v7.否则它将产生空指针执行 (12认同)
  • @numansalati谁是m3n0R?我搜索了该页面,却一无所获 (3认同)

ces*_*rds 93

我认为这是正确的答案:

<style name="AppTheme" parent="Theme.Sherlock.Light.DarkActionBar">
    <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
</style>

<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
    <item name="android:displayOptions">showHome|useLogo</item>
    <item name="displayOptions">showHome|useLogo</item>
</style>
Run Code Online (Sandbox Code Playgroud)


spa*_*oob 63

我对Android很新,所以如果我错了就纠正我,但我想如果你决定在Action Bar上使用导航标签,它们似乎没有完全左对齐,因为标题文字颜色只是透明的并且没有'走开了.

<style name="CustomActionBarStyle" parent="@android:style/Widget.Holo.ActionBar">
     <item name="android:displayOptions">useLogo|showHome</item>
</style>
Run Code Online (Sandbox Code Playgroud)

为我工作.


Chr*_*rry 42

得到它了.你必须覆盖

android:actionBarStyle
Run Code Online (Sandbox Code Playgroud)

然后在您的自定义样式中,您必须覆盖

android:titleTextStyle
Run Code Online (Sandbox Code Playgroud)

这是一个样本.

在我的themes.xml中:

<style name="CustomActionBar" parent="android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/CustomActionBarStyle</item>
</style>
Run Code Online (Sandbox Code Playgroud)

在我的styles.xml中:

<style name="CustomActionBarStyle" parent="android:style/Widget.Holo.ActionBar">
        <item name="android:titleTextStyle">@style/NoTitleText</item>
        <item name="android:subtitleTextStyle">@style/NoTitleText</item>
</style>

<style name="NoTitleText">
        <item name="android:textSize">0sp</item>
        <item name="android:textColor">#00000000</item>
</style>
Run Code Online (Sandbox Code Playgroud)

我不确定为什么将textSize设置为零并没有做到这一点(它缩小了文本,但没有让它消失),但是将textColor设置为透明工作.

  • 使用<item name ="android:displayOptions"> useLogo | showHome </ item>而不是将size设置为0 (7认同)
  • 是的,这有帮助.知道为什么`android:visibility = gone`没有效果?或者更好的是,为什么`setDisplayShowTitleEnabled`在栏加载时仍会显示标题文字? (3认同)

eas*_*ese 20

在你的清单中

<activity android:name=".ActivityHere"
     android:label="">
Run Code Online (Sandbox Code Playgroud)

  • 这确实有效,但会阻止您的应用出现在"最近使用的应用"选择器中 (33认同)
  • 这使得应用程序在手机应用程序/主屏幕上没有名称 (2认同)

Man*_*ddy 12

写下这个陈述

setContentView(R.layout.activity_main);

getSupportActionBar().setDisplayShowTitleEnabled(false);
Run Code Online (Sandbox Code Playgroud)

如果扩展AppCompactActivity使用,getSupportActionbar()如果扩展Activity使用getActionBar()else,它可能会给

null pointer exception
Run Code Online (Sandbox Code Playgroud)

使用 android:label=""AndroidManifest.xml 的活动也有效,但您的应用程序将不会出现在Recently used apps


Ham*_*mid 7

你有两个选择:

第一:

getActionBar().setDisplayShowTitleEnabled(false);
Run Code Online (Sandbox Code Playgroud)

如果usign getActionBar()产生空指针异常,则应使用getSupportActionBar()

Second

getSupportActionBar().setTitle("your title");
Run Code Online (Sandbox Code Playgroud)

要么

getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().hide();
Run Code Online (Sandbox Code Playgroud)


小智 6

我在App清单中使用此代码

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:logo="@drawable/logo2"
        android:label="@string/title_text"
        android:theme="@style/Theme.Zinoostyle" >
Run Code Online (Sandbox Code Playgroud)

我的徽标文件是200*800像素,并在main activity.java中使用此代码

getActionBar().setDisplayShowTitleEnabled(false);
Run Code Online (Sandbox Code Playgroud)

它会工作Corectly


小智 5

您可以更改应用于每个活动的样式,或者如果您只想更改特定活动的行为,可以尝试以下操作:

setDisplayOptions(int options, int mask) --- Set selected display 
  or
setDisplayOptions(int options) --- Set display options.
Run Code Online (Sandbox Code Playgroud)

要在操作栏上显示标题,请在onCreate()中设置显示选项

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE, ActionBar.DISPLAY_SHOW_TITLE);
Run Code Online (Sandbox Code Playgroud)

隐藏操作栏上的标题.

getSupportActionBar().setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);
Run Code Online (Sandbox Code Playgroud)

细节在这里.


ken*_*wan 5

我试过这个.这会有所帮助 -

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
Run Code Online (Sandbox Code Playgroud)

应该在setSupportActionBar之后调用getSupportActionBar,因此设置工具栏,否则为NullpointerException,因为没有工具栏集.希望这可以帮助