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

时间:2011-10-05 01:38:52

标签: android android-actionbar

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

我该怎么做?

20 个答案:

答案 0 :(得分:202)

尝试:

 getActionBar().setDisplayShowTitleEnabled(false);

对于第7节:

 getSupportActionBar().setDisplayShowTitleEnabled(false);

答案 1 :(得分: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>

答案 2 :(得分:63)

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

<style name="CustomActionBarStyle" parent="@android:style/Widget.Holo.ActionBar">
     <item name="android:displayOptions">useLogo|showHome</item>
</style>

为我工作。

答案 3 :(得分:42)

知道了。你必须覆盖

android:actionBarStyle

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

android:titleTextStyle

这是一个样本。

在我的themes.xml中:

<style name="CustomActionBar" parent="android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/CustomActionBarStyle</item>
</style>

在我的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>

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

答案 4 :(得分:20)

在你的清单中

<activity android:name=".ActivityHere"
     android:label="">

答案 5 :(得分:12)

下写下此声明
setContentView(R.layout.activity_main);

getSupportActionBar().setDisplayShowTitleEnabled(false);

如果扩展AppCompactActivity使用 getSupportActionbar() ,如果扩展活动使用 getActionBar() ,则可能会提供

null pointer exception

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

答案 6 :(得分:7)

你有两个选择:

第一

getActionBar().setDisplayShowTitleEnabled(false);

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

第二

getSupportActionBar().setTitle("your title");

getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().hide();

答案 7 :(得分:6)

我在App manifest中使用此代码

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:logo="@drawable/logo2"
        android:label="@string/title_text"
        android:theme="@style/Theme.Zinoostyle" >

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

getActionBar().setDisplayShowTitleEnabled(false);

它将运作Corectly

答案 8 :(得分:5)

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

setDisplayOptions(int options, int mask) --- Set selected display 
  or
setDisplayOptions(int options) --- Set display options.

要在操作栏上显示标题,请在onCreate()

中设置显示选项
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE, ActionBar.DISPLAY_SHOW_TITLE);

隐藏操作栏上的标题。

getSupportActionBar().setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);

详情here

答案 9 :(得分:5)

我试过这个。这将有所帮助 -

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

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

答案 10 :(得分:3)

getSupportActionBar().setDisplayShowTitleEnabled(false);
    getSupportActionBar().hide();

希望这会有所帮助

答案 11 :(得分:2)

使用以下内容:

requestWindowFeature(Window.FEATURE_NO_TITLE);

答案 12 :(得分:2)

如果您只想为一个活动而且甚至可以动态地执行此活动,您也可以使用

ActionBar actionBar = getActionBar();
actionBar.setDisplayOptions(actionBar.getDisplayOptions() ^ ActionBar.DISPLAY_SHOW_TITLE);

答案 13 :(得分:2)

对我来说唯一真正有用的是添加:

<activity 
    android:name=".ActivityHere"
    android:label=""
>

答案 14 :(得分:1)

只需从AppCompatActivity扩展您的java文件并执行此操作:

ActionBar actionBar = getSupportActionBar(); // support.v7
actionBar.setTitle(" ");

答案 15 :(得分:1)

虽然所有这些都可以接受,但如果您的活动仅包含主要活动,则可以像这样编辑res\values\styles.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>

我已更新parent并将.NoActionBar属性添加到Android工作室Create Blank Application向导的Light主题中。

答案 16 :(得分:1)

作为一种解决方法,只需添加此行,即可拥有自定义操作/工具栏

    ...
    response.setContentType("application/json");
    String x = req.getParameter("view_name");
    PrintWriter out = response.getWriter();
    JSONObject obj = new JSONObject();
    obj.put("view_name", x);
    out.print(obj);
    ...

在你的活动中

答案 17 :(得分:0)

我是Android的新手,所以也许我错了......但要解决这个问题,我们只能去清单并删除活动标签

<activity
        android:name=".Bcft"
        android:screenOrientation="portrait"

        **android:label="" >**

为我工作....

答案 18 :(得分:0)

在manifest.xml页面中,您可以为活动标签指定地址。地址位于values / strings.xml中的某个位置。然后你可以将xml文件中的标记值更改为null。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title_main_activity"></string>
</resources>

答案 19 :(得分:-3)

ActionBar actionBar = getActionBar();
actionBar.setTitle("");