我有以下问题。
我正在尝试添加工具栏,作为ActionBar
,但默认情况下工具栏未显示应用程序名称。我设置ActionBar
的方式有什么问题吗?
这是工具栏的布局xml文件。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbarMain"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
android:theme="@style/AppTheme">
</android.support.v7.widget.Toolbar>
这是我的主要活动,其中包括布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.andrewkp.gaassessing.Assessments">
<include layout="@layout/main_toolbar"/>
</LinearLayout>
最后,我设置了setSupportActionBar
。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_assessments);
//get the toolbar instance
Toolbar tb = findViewById(R.id.toolbarMain);
setSupportActionBar(tb);
}
我认为问题与以下内容有关:
在我的{java}类onCreate()
方法中,工具栏的类型为“android.support.v7.widget
”,其中布局中的工具栏是android.support.v7.widget.Toolbar
?这里没有类型不匹配吗?
答案 0 :(得分:0)
您可以通过编程方式设置标题。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_assessments);
//get the toolbar instance
Toolbar tb = findViewById(R.id.toolbarMain);
setSupportActionBar(tb);
getSupportActionBar().setTitle("Your app title");
}
答案 1 :(得分:0)
您的代码对我来说非常好。可能是show title属性设置为false。试试这个:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//get the toolbar instance
Toolbar tb = findViewById(R.id.toolbarMain);
setSupportActionBar(tb);
getSupportActionBar().setDisplayShowTitleEnabled(true);
}
希望这能解决你的无题问题......