为了账号安全,请及时绑定邮箱和手机立即绑定

在Android应用程序中,Toolbar.setTitle方法无效-应用程序名称显示为标题

在Android应用程序中,Toolbar.setTitle方法无效-应用程序名称显示为标题

斯蒂芬大帝 2019-12-12 14:31:01
我正在尝试使用android-support-v7:21库创建简单的应用程序。代码段:MainActivity.javapublic class MainActivity extends ActionBarActivity {    Toolbar mActionBarToolbar;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);                    mActionBarToolbar.setTitle("My title");        setSupportActionBar(mActionBarToolbar);}activity_main.xml<LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:fitsSystemWindows="true"    android:orientation="vertical">    <android.support.v7.widget.Toolbar                    android:id="@+id/toolbar_actionbar"        android:background="@null"        android:layout_width="match_parent"        android:layout_height="?actionBarSize"        android:fitsSystemWindows="true" /></LinearLayout>但是显示的是工具栏%application name%上的“ My title”。似乎setTitle方法无效。我想显示“我的标题”。UPD: 以前styles.xml是:<style name="AppTheme" parent="Theme.AppCompat">    <item name="windowActionBar">false</item></style>因此,我认为未使用actionbar。我添加NoActionBar到样式父:<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">    <item name="windowActionBar">false</item></style>但是问题没有解决。
查看完整描述

3 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

找到了解决方案:


代替:


mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);            

mActionBarToolbar.setTitle("My title");

setSupportActionBar(mActionBarToolbar);

我用了:


mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);            

setSupportActionBar(mActionBarToolbar);

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


查看完整回答
反对 回复 2019-12-12
?
波斯汪

TA贡献1811条经验 获得超4个赞

对于在设置SupportActionBar之后需要通过工具栏设置标题的任何人,请阅读此内容。


支持库的内部实现仅在设置SupportActionBar时检查工具栏是否具有标题(非null)。如果存在,则将使用此标题代替窗口标题。然后,您可以在加载真实标题时设置虚拟标题。


mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);

mActionBarToolbar.setTitle("");

setSupportActionBar(mActionBarToolbar);

后来...


mActionBarToolbar.setTitle(title);


查看完整回答
反对 回复 2019-12-12
  • 3 回答
  • 0 关注
  • 859 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信