Android工具栏(作为小部件)未显示标题

问题描述:

我正在使用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

用工具栏替换动作条... –

正如文件从支持库

通知

使用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

试试这个代码

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

现在你可以设置你的标题

mActionBarToolbar.setTitle(title); 
+0

我不使用这个作为操作栏。我在底部使用 – kirtan403