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

Toolbar文件显示

如果一个应用程序使用一个徽标图像,它应该强烈考虑省略标题和字幕。

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

148621 次浏览

另一种从你的 Toolbar中删除标题的方法是像这样把它从 null中删除:

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

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

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

这是因为当您调用 setSupportActionBar(toolbar);时,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 = (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 actionBar = (Toolbar)findViewById(R.id.toolbar);
actionBar.addView(view);
setSupportActionBar(actionBar);
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 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=" "
Toolbar toolbar = findViewById(R.id.myToolbar);
toolbar.setTitle("");

如果您使用的是默认工具栏,那么您可以添加这行代码

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

这是显而易见的,但 App Theme的选择在设计只是为了显示一个草稿在版面编辑,并没有涉及到真正的应用程序在手机中寻找。在我的例子中,在设计中没有标题栏,但是标题栏一直在手机中。

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

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

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

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

styles.xml中(在 app/res/value 下)添加以下行:

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

AndroidManifest.xml之后(在应用程序/舱单之下)

替换

android:theme="@style/AppTheme">

作者

android:theme="@style/AppTheme.NoActionBar">

只需在 AndroidMenifest.xml中的 <application> (不是 <activity>)label中添加一个空字符串-

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