23

表明我有我有這麼多的活動中使用與片段文件,但我的問題是,我不能顯示我想要的工具欄中的文本的XML,我使用XML,那是因爲我有一個導航抽屜,我需要處理一些事情,所以我必須這樣做。Android的標題不會在工具欄

我的xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/frame_container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".StatusActivity" 
    android:orientation="vertical" > 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     style="@style/ToolBarStyle" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="?attr/colorPrimary" 
     android:minHeight="@dimen/abc_action_bar_default_height_material" /> 

</RelativeLayout> 

我的一個活動:

public class GroupChatActivity extends ActionBarActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_base_layout); 

     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     getSupportActionBar().setDisplayShowHomeEnabled(true); 

     ActionBar actionBar = getSupportActionBar(); 
     actionBar.setTitle("Groups history"); 

     Aniways.init(this); 

     if(savedInstanceState == null) 
     { 
      FragmentManager manager = getSupportFragmentManager(); 

      Fragment fragment = GroupChatFragment.newInstance(getIntent().getIntExtra("uid", 0)); 
      manager.beginTransaction().add(R.id.frame_container, fragment).commit(); 
     } 
    } 
} 

,你可以看到我試着標題設置爲操作欄,但它不工作。

+2

嘗試調用'getSupportActionBar()setDisplayShowTitleEnabled(真)''然後toolbar.setTitle (title)' –

+0

@NikolaDespotoski試過了,它不起作用。 – bitek

回答

32
getSupportActionBar().setDisplayShowTitleEnabled(true); 
+1

對我來說,工作沒有這在Android 5.1.1,即只有getSupportActionBar()的的setTitle工具欄裏面的標題設置,但如果我嘗試直接從工具欄設置標題引用沒有,只能通過getSupportActionBar( ) – bitek

2

嘗試toolbar.setTitle('Groups history');

0

getActionBar().setTitle("Groups History");

,或者如果你正在使用AppCompat庫;

getSupportActionBar().setTitle("Groups History");

8

試試這個..這個方法對我的作品.. !!希望它可以幫助別人.. !!

<android.support.v7.widget.Toolbar 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/my_awesome_toolbar" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:background="?attr/colorPrimary" 
android:minHeight="?attr/actionBarSize" 
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" > 

<TextView 
    android:id="@+id/toolbar_title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:singleLine="true" 
    android:text="Toolbar Title" 
    android:textColor="@android:color/white" 
    android:textSize="18sp" 
    android:textStyle="bold" /> 

</android.support.v7.widget.Toolbar> 

編輯

您也可以使用此功能。

setSupportActionBar(toolbar); 
if (getSupportActionBar() != null) 
     getSupportActionBar().setTitle("Toolbar title"); 
+0

做這似乎是getSupportActionBar()功能剪短 – Pievis

+0

是的,但不是getSupportActionBar()不是對我的作品,對一些糟糕的情況下,我用這個,.. –

17

設置,

app:title="@string/my_title" 

工具條中的該android.support.v7.widget.Toolbar,硬編碼標題的聲明中。

以編程方式設置標題,

Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar); 
toolbar.setTitle("my title"); 
setSupportActionBar(toolbar); 
在活動類

+2

憑啥不'安卓title'不是拋出一些有什麼錯誤?! –

+0

是的你正確:) thnx男子我忘了添加這一行:) –

+0

@DanielWilson因爲谷歌 –

0

我做了一個自定義的操作欄。

與此代碼

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:local="http://schemas.android.com/apk/res-auto" 
android:id="@+id/toolbar" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:background="@color/blanco" 
android:minHeight="?attr/actionBarSize"> 

    <TextView 
    android:id="@+id/toolbar_title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="left" 
    android:singleLine="true" 
    android:text="Toolbar Title" 
    android:textColor="@color/naranja" 
    android:textSize="18sp" /> 

</android.support.v7.widget.Toolbar> 

在我的課擴展AppCompatActivity佈局iguepardos_action_bar.xml我有這樣的:

protected void onCreate(Bundle savedInstanceState) { 
.... 
.... 

getSupportActionBar().setDisplayShowCustomEnabled(true); // is for specify use custom bar 
getSupportActionBar().setCustomView(R.layout.iguepardos_action_bar); // my custom layout 
getSupportActionBar().setDisplayHomeAsUpEnabled(true); // Button for come back 

View mCustomView = getSupportActionBar().getCustomView(); // Set the view 
TextView TitleToolBar = (TextView) mCustomView.findViewById(R.id.toolbar_title); // find title control 
TitleToolBar.setText("The Title Show"); // Set the Title 

}