2016-09-15 48 views
0

我正在使用Toolbar作爲底部工作表中的小部件。但標題沒有顯示。Android工具欄(作爲小部件)未顯示標題

enter image description here

Toolbar在bottomsheet佈局的內容是這樣的:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/white" 
    android:orientation="vertical"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:paddingLeft="@dimen/activity_horizontal_margin" 
      android:paddingRight="@dimen/activity_horizontal_margin" 
      android:title="This is my title" 
      app:theme="@style/ThemeOverlay.AppCompat.Light" 
      app:popupTheme="@style/AppTheme.PopupOverlay"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="end" 
       android:background="?attr/selectableItemBackgroundBorderless" 
       android:onClick="@{() -> handler.hideBottomSheet()}" 
       android:src="@drawable/ic_keyboard_arrow_down_black_24dp" /> 

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

    //... 

</LinearLayout> 

一切看起來都不錯。但標題並不只是顯示出來。這不是支持ActionBar。我使用這個作爲一個部件。

我不知道爲什麼,但它只是不顯示。我嘗試了不同的主題,並且改變了根目錄LinearLayout的背景顏色,但沒有運氣。

它只是不顯示。我也試過設置android:titleTextColor,但那也沒有奏效。

僅當使用ActionBar時纔可以使用標題?或者我在這裏做錯了什麼?謝謝。

+0

pz發佈你的java代碼 –

+0

Java代碼的哪個部分? – kirtan403

+0

用工具欄替換動作條... –

回答

1

正如文件從支持庫

通知

使用XML屬性說明即showAsAction屬性上面使用標籤中定義的自定義命名空間 。當使用由支持庫定義的任何XML屬性 時,這是必需的,因爲舊設備上的Android框架中不存在 。因此,您必須使用自己的 名稱空間作爲由支持 庫定義的所有屬性的前綴。

您需要使用自定義前綴。因此,如下使用app:title代替android:title

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    app:title="This is my title" 
    app:theme="@style/ThemeOverlay.AppCompat.Light" 
    app:popupTheme="@style/AppTheme.PopupOverlay"> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="end" 
     android:background="?attr/selectableItemBackgroundBorderless" 
     android:onClick="@{() -> handler.hideBottomSheet()}" 
     android:src="@drawable/ic_keyboard_arrow_down_black_24dp" /> 

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

燦標題只使用作爲動作條時使用?

這是沒有必要的。你可以得到toolbar name而不將其設置爲actionbar

+0

@ kirtan403對你有幫助嗎? – Nikhil

+1

對不起,我剛查過!有效。非常感謝。我錯過了。 – kirtan403

0

試試這個代碼

mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar); 
mActionBarToolbar.setTitle(""); 
setSupportActionBar(mActionBarToolbar); 

現在你可以設置你的標題

mActionBarToolbar.setTitle(title); 
+0

我不使用這個作爲操作欄。我在底部使用 – kirtan403