首先,我知道有很多SO可以解决类似的问题。我已经仔细检查了所有这些,并且所提供的答案都没有帮助解决我的问题。
我无法在我的android.support.v7.widget.Toolbar
组件上显示标题(或后退按钮)。无论我尝试过什么。
我的Android活动看起来像( my_activity.xml ):
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bind="http://schemas.android.com/apk/res-auto">
<data>
<variable name="infos" type="com.mycompany.orm.adapters.ListViewAdapter"/>
</data>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="10">
<android.support.v7.widget.Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/buttonBackground"
android:elevation="4dp"
android:logo="@drawable/ic_close_white_24dp" />
<ListView
android:id="@+id/my_listview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@color/windowBackground"
bind:items="@{infos.list}"/>
</RelativeLayout>
</layout>
活动onCreate
为( MyActivity.java ):
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_activity);
Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
if (toolbar != null) {
toolbar.setTitle("My Name Here"); // Never shows up
setSupportActionBar(toolbar);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_SHOW_CUSTOM, ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setTitle("Hello World!"); // Never shows up
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeAsUpIndicator(R.drawable.ic_close_white_24dp);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.show();
}
}
}
但是使用这段代码,我只看到一个空白的工具栏。我从未看过该文字(My Name Here
或Hello World!
。但是,如果我将行bind:title="Testing"
添加到XML的Toolbar
元素,我会看到标题显示为< strong>测试。但是,我希望能够操作工具栏/操作栏的外观,所以我希望能够在代码中完成。
有谁知道这可能会出错?
答案 0 :(得分:3)
尝试在 AndroidManifest.xml 中设置标签
<activity
android:name="yourpackagename.Activity"
android:label="My Name Here"/>
否则,如果要以编程方式设置
如果您使用扩展AppCompatActivity类,请使用
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setTitle("My Name Here");
this.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
如果使用extends Activity类,请使用
ActionBar ab = getActionBar();
ab.setTitle("My Name Here");
我建议尝试将上述解决方案用于我的工作。
答案 1 :(得分:0)
我遇到了同样的问题,这对我有用。
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(""My Name Here"");