我确信这是非常简单的,我只是在俯视。如果我在代码中设置标题,它似乎一切正常:
import android.support.v7.widget.Toolbar;
...
// Works fine
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("My Title");
在布局xml中设置它不起作用:
<!-- Doesn't work -->
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
android:title="@string/my_title"/>
值得注意的是,我正在使用AppCompat v7库并对Android sdk版本18进行测试。
答案 0 :(得分:9)
您没有使用正确的属性。我认为the Action Bar
docs解释得最好。
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
yourapp:showAsAction="ifRoom" />
...
</menu>
使用支持库中的XML属性
请注意,上面的showAsAction属性使用标记中定义的自定义命名空间。在使用支持库定义的任何XML属性时,这是必需的,因为旧设备上的Android框架中不存在这些属性。因此,您必须使用自己的命名空间作为支持库定义的所有属性的前缀。
换句话说,您需要将android:title
更改为yourCustomPrefix:title
<YourRootViewGroup xmlns:app="http://schemas.android.com/apk/res/org.seeingpixels.photon"
xmlns:android="http://schemas.android.com/apk/res/android"
... >
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
app:title="@string/my_title" />
</YourRootViewGroup>
答案 1 :(得分:1)
你能试试这段代码吗?
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(true);
getSupportActionBar().setTitle("title");
答案 2 :(得分:-1)
使用以下代码设置标题:
toolbar = (Toolbar) findViewById(R.id.toolbar);
this.setSupportActionBar(toolbar);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);