Android 删除appcompat-v7中工具栏中的标题

Android 删除appcompat-v7中工具栏中的标题,android,android-actionbar,android-appcompat,android-toolbar,Android,Android Actionbar,Android Appcompat,Android Toolbar,工具栏的显示 如果应用程序使用标志图像,则应强烈考虑省略标题和字幕。 删除标题的正确方法是什么?从工具栏中删除标题的另一种方法是null如下所示: Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar); toolbar.setTitle(null); 隐藏/更改工具栏标题的正确方法如下: Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSuppor

工具栏的
显示

如果应用程序使用标志图像,则应强烈考虑省略标题和字幕。


删除标题的正确方法是什么?

工具栏中删除标题的另一种方法是
null
如下所示:

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
toolbar.setTitle(null);

隐藏/更改工具栏标题的正确方法如下:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(null);
这是因为当您调用
setSupportActionBar(工具栏)时
,则
getSupportActionBar()
将负责处理操作栏的所有内容,而不是工具栏对象

请参见试试这个

 @Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_landing_page); 

    .....

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

    .....

 }

我之所以回答这个问题,是因为投票最多的答案本身并没有解决我的问题。我这样做就解决了这个问题

<activity android:name="NAME OF YOUR ACTIVITY"
    android:label="" />


希望这也能帮助其他人。

隐藏工具栏标题/标签的正确方法 以下代码:

  Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setTitle(null);
没有人提到:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
    }

您可以使用以下任意一种方式,因为两者的工作方式相同:
getSupportActionBar().setDisplayShowTitleEnabled(false)

getSupportActionBar().setTitle(null)

在哪里使用:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayShowTitleEnabled(false);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setTitle(null);
或:

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

注意这一行
getSupportActionBar().setDisplayShowTitleEnabled(false)

我不知道这是不是正确的方法,但我已经改变了我的风格

<style name="NoActionBarStyle" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
</style>

@颜色/原色
@颜色/原色暗
@颜色/颜色重音
假的
真的

如果您正在使用工具栏,请尝试以下代码:

toolbar.setTitle("");
toolbar.setTitle(空)//删除此文件的标题

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    //toolbar.setNavigationIcon(R.drawable.ic_toolbar);
    toolbar.setTitle("");
    toolbar.setSubtitle("");
    //toolbar.setLogo(R.drawable.ic_toolbar);

只需将此属性添加到工具栏

app:title=" "

如果使用默认工具栏,则可以添加这行代码

Objects.requireNonNull(getSupportActionBar()).setDisplayShowTitleEnabled(false);

很明显,但设计中的
应用程序主题
选择只是为了在版面编辑时显示草稿,与手机中的真实应用程序外观无关。在我的例子中,设计中没有标题栏,但标题栏总是在手机中

我从Android编程开始,努力寻找正确的解决方案

仅仅更改清单文件(
AndroidManifest.xml
)是不够的,因为需要预定义的样式是
styles.xml
。更改布局文件也是无用的

Java
Kotlin
中提出的所有解决方案对我来说都失败了。其中一些会使应用程序崩溃。如果有人(像我一样)从未打算在应用程序中使用标题栏,静态解决方案会更干净

对我来说,2019年唯一有效的解决方案(Android Studio 3.4.1)是:

style.xml
(app/res/values下)添加以下行:

   <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>


只需在
AndroidMenifest.xml
标签中添加一个空字符串即可-

<application
            android:label=""
            android:theme="@style/AppTheme">
            <activity
             .
             .
             .
             .
            </activity>
    </application>


如果只是将其设置为空字符串,问题出在哪里?我不认为你需要使用一个只使用图标的自定义布局。“你猜这太过分了吗?”maffelbaffel设置空字符串没什么错,但感觉不合适。但是,是的,使用自定义布局会有点过头了。我必须这样做:
toolbar.setTitle(“”)@FerranMaylinch是的,这对我来说也是工作!我使用toolbar.setTitle(null);这将导致应用程序名称作为默认标题。所以我设置了toolbar.setTitle(“”);这很好。setTitle(null)会导致应用程序名成为标题。。setTitle(“”)为我工作。在xml中,我添加了这个答案和David的答案,如果在调用
setSupportActionBar()
之后立即调用,则可以从我这里工作。选择此答案是因为根据官方参考,这似乎是实现此目的的官方方式:
设置是否应显示活动标题/副标题。
我仅适用于类似工具栏的actionbar,而不适用于clean toobar!如何使用style.xml删除它?请帮助我为我工作。您必须使用“appcompat_v7:v21”才能工作。您必须通过执行以下操作来检查上述操作是否不会产生NullPonterException:if(getSupportActionBar()!=null)getSupportActionBar()。setDisplayShowTitleEnabled(false);这不是一个好主意。如果您在该活动上有一个
,允许用户通过单击URL(例如)打开您的应用程序,则消歧对话框将不会有任何标题!actionBar.addView(视图);是我添加到工具栏的自定义视图在回答问题之前仔细阅读问题,OP要求从工具栏中删除标题问题是删除工具栏标题,而不是工具栏本身。我不理解这种方式,因为留下一个空栏没有意义,但我想你一定是对的。是的,有时我们在工具栏上有动作图标。例如“搜索图标”。所以我们需要工具栏,但我们不想要标题,我有。然而,这个技巧对某些人来说是有用的。一开始,我对它有一些问题。有时我浏览StackOverflow中的一个问题,并从一些答案中找到一些附带的好处。
android:theme="@style/AppTheme">
android:theme="@style/AppTheme.NoActionBar">
<application
            android:label=""
            android:theme="@style/AppTheme">
            <activity
             .
             .
             .
             .
            </activity>
    </application>