我试图使用android-support-v7:21库创建简单的应用程序。 代码片段: MainActivity.java

public 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>

但是工具栏上显示的不是“我的标题”%应用程序名称%。 似乎setTitle方法没有效果。 我想展示"我的头衔"

乌利希期刊指南: 在此之前,styles.xml是:

<style name="AppTheme" parent="Theme.AppCompat">
    <item name="windowActionBar">false</item>
</style>

我以为动作栏不用。 我添加了NoActionBar到父样式:

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="windowActionBar">false</item>
</style>

但问题并没有解决。


当前回答

我用了-

toolbar.post(new Runnable() {
            @Override
            public void run() {
                toolbar.setTitle("My Title");
            }
        });

其他回答

虽然不是立即相关的这个特定的设置,我发现,从我的XML中删除“CollapsingToolbarLayout”是包装我的工具栏在一个AppBarLayout使一切工作。

所以,这个:

      <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_height="?attr/actionBarSize"
                app:layout_scrollFlags="scroll|enterAlways"
                app:navigationIcon="@drawable/ic_arrow_back_white_24dp" />

        </android.support.design.widget.AppBarLayout>

而不是这样:

        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <android.support.design.widget.CollapsingToolbarLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/collapsingToolbar"
                android:minHeight="?attr/actionBarSize"
                app:layout_scrollFlags="enterAlways|scroll|snap">

                <android.support.v7.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_height="?attr/actionBarSize"
                    app:navigationIcon="@drawable/ic_arrow_back_white_24dp" />
            </android.support.design.widget.CollapsingToolbarLayout>

        </android.support.design.widget.AppBarLayout>

然后,我在活动的onCreate中设置标题,在setSupportActionBar()被调用之前。

应用标题不会在每个活动上显示为默认标题,您可以在每个活动上插入不同的标题。在你的活动文件中,onCreate只粘贴一行来设置标题,

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setTitle("Your Title Here");

只需将“Your Title Here”文本更改为您的文本。

我有个奇怪的行为也许能帮到你。 这是工作,但它没有影响onCreate只:

toolbar.setTitle("title");

试着在onCreate中使用这个:

yourActivityName.this.setTitle("title")

试试这个:

Xml代码

<android.support.v7.widget.Toolbar
    android:layout_width="match_parent"
    android:layout_height="120dp"
    android:id="@+id/tool_bar"
    android:background="@color/tablayout"
    android:theme="@style/ToolBarStyle"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/app_name"
        android:layout_gravity="center"
        android:id="@+id/toolbar_title"
        android:textSize="18sp"
        android:textColor="@color/white"/>
    </android.support.v7.widget.Toolbar>

Java代码

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    toolbar = (Toolbar) findViewById(R.id.tool_bar);
    toolbar_text = (TextView)findViewById(R.id.toolbar_title);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    toolbar.setLogo(R.drawable.ic_toolbar);
}
 public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       //custom toolbaar
       getSupportActionBar().setTitle("Abhijeet");

    }
}