的文档Toolbar
说_
如果应用程序使用徽标图像,则应强烈考虑省略标题和副标题。
删除标题的正确方法是什么?
getSupportActionBar().setDisplayShowTitleEnabled(false);
隐藏/更改工具栏标题的正确方法是:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(null);
这是因为当您调用 时setSupportActionBar(toolbar);
,getSupportActionBar()
将负责处理 Action Bar 的所有内容,而不是工具栏对象。
看这里
试试这个...
@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
是null
像这样删除它:
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
toolbar.setTitle(null);
这
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);
如果您使用的是工具栏,请尝试以下代码:
toolbar.setTitle("");
Toolbar actionBar = (Toolbar)findViewById(R.id.toolbar);
actionBar.addView(view);
setSupportActionBar(actionBar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
注意这一行 getSupportActionBar().setDisplayShowTitleEnabled(false);
您可以使用以下任何一种,因为两者的工作方式相同:
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);
只需将此属性添加到您的工具栏
app:title=" "
隐藏 ToolBar 标题/标签的正确方法如下代码:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(null);
我不知道这是否正确,但我已经改变了我的风格。
<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 toolbar = findViewById(R.id.myToolbar);
toolbar.setTitle("");
如果您使用默认工具栏,那么您可以添加这行代码
Objects.requireNonNull(getSupportActionBar()).setDisplayShowTitleEnabled(false);
没有人提到:
@Override
protected void onCreate(Bundle savedInstanceState) {
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
}
toolbar.setTitle(null);
// 删除标题
很明显,但App Theme
设计中的选择只是为了在布局编辑时显示一个草稿,与手机中的真实应用程序无关。就我而言,设计中没有标题栏,但标题栏始终在手机中。
我从 Android 编程开始,并努力寻找正确的解决方案。
仅仅改变manifest文件( AndroidManifest.xml
)是不够的,因为需要预定义的样式是styles.xml
. 更改布局文件也是无用的。
所有建议的解决方案对我Java
来说Kotlin
都失败了。其中一些使应用程序崩溃。如果从来没有人(像我一样)打算在应用程序中使用标题栏,那么静态解决方案会更干净。
对我来说,2019 年唯一有效的解决方案(Android Studio 3.4.1)是:
在styles.xml
(在 app/res/values 下)添加以下行:
<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">
label
只需在of <application>
(not <activity>
)中添加一个空字符串AndroidMenifest.xml
-
<application
android:label=""
android:theme="@style/AppTheme">
<activity
.
.
.
.
</activity>
</application>