如何将胖工具栏折叠为单线?

问题描述:

我有一个工具栏,我需要折叠,但所有我看到的CollapsingToolbarLayout示例只是将图像折叠成最小的工具栏。是否可以将以下内容合并为仅包含标题的单行工具栏?如何将胖工具栏折叠为单线?

enter image description here

这里是上面的工具栏的XML:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.AppBarLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="?attr/colorPrimary" 
     android:minHeight="?attr/actionBarSize" 
     android:title="@string/app_header" 
     app:layout_scrollFlags="scroll|enterAlways" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
     app:titleTextAppearance="@style/ToolbarTitle"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal"> 

       <LinearLayout 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:orientation="vertical"> 

        <ImageButton 
         android:id="@+id/login" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_horizontal" 
         app:srcCompat="@drawable/login" /> 

        <TextView 
         android:id="@+id/login_text" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:textColor="@color/colorEnabled" 
         android:layout_gravity="center_horizontal" 
         android:text="@string/login" 
         /> 
       </LinearLayout> 

       <LinearLayout 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:orientation="vertical"> 

        <ImageButton 
         android:id="@+id/intro" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_horizontal" 
         app:srcCompat="@drawable/account_switch" /> 

        <TextView 
         android:id="@+id/intro_text" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:textColor="@color/colorEnabled" 
         android:layout_gravity="center_horizontal" 
         android:text="@string/intro_page" 
         /> 
       </LinearLayout> 

       <LinearLayout 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:orientation="vertical"> 

        <ImageButton 
         android:id="@+id/video" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_horizontal" 
         app:srcCompat="@drawable/video" /> 

        <TextView 
         android:id="@+id/video_text" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:textColor="@color/colorEnabled" 
         android:layout_gravity="center_horizontal" 
         android:text="@string/video_page" 
         /> 
       </LinearLayout> 

       <LinearLayout 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:orientation="vertical"> 

        <ImageButton 
         android:id="@+id/tutorial" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_horizontal" 
         app:srcCompat="@drawable/book" /> 

        <TextView 
         android:id="@+id/tutorial_text" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:textColor="@color/colorEnabled" 
         android:layout_gravity="center_horizontal" 
         android:text="@string/tutorial_page" 
         /> 
       </LinearLayout> 
      </LinearLayout> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal"> 

       <LinearLayout 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:orientation="vertical"> 

        <ImageButton 
         android:id="@+id/edit_profile" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_horizontal" 
         app:srcCompat="@drawable/account_edit" /> 

        <TextView 
         android:id="@+id/edit_profile_text" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:textColor="@color/colorDisabled" 
         android:layout_gravity="center_horizontal" 
         android:text="@string/create_profile2" 
         /> 
       </LinearLayout> 

       <LinearLayout 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:orientation="vertical"> 

        <ImageButton 
         android:id="@+id/in_common" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_horizontal" 
         app:srcCompat="@drawable/account_search" /> 

        <TextView 
         android:id="@+id/in_common_text" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:textColor="@color/colorDisabled" 
         android:layout_gravity="center_horizontal" 
         android:text="@string/what_in_common2" 
         /> 
       </LinearLayout> 

       <LinearLayout 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:orientation="vertical"> 

        <ImageButton 
         android:id="@+id/edit_colors" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_horizontal" 
         app:srcCompat="@drawable/palette" /> 

        <TextView 
         android:id="@+id/edit_colors_text" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:textColor="@color/colorDisabled" 
         android:layout_gravity="center_horizontal" 
         android:text="@string/settings_color" 
         /> 
        </LinearLayout> 

       <LinearLayout 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:orientation="vertical"> 

        <ImageButton 
         android:id="@+id/software_license" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_horizontal" 
         app:srcCompat="@drawable/file_outline" /> 

        <TextView 
         android:id="@+id/software_license_text" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:textColor="@color/colorEnabled" 
         android:layout_gravity="center_horizontal" 
         android:text="@string/eula" 
         /> 
       </LinearLayout> 
      </LinearLayout> 
     </LinearLayout> 
    </android.support.v7.widget.Toolbar> 
</android.support.design.widget.AppBarLayout> 
+0

你需要什么输出?你需要崩溃后的唯一标题,或者你需要崩溃后在单行中的所有项目..? –

+0

改为添加TabLayout –

我终于得到了工具栏崩溃,只是几乎立即删除代码。事实证明,CollapsingToolbarLayout与包含可滚动对象(如ListView)的视图不兼容,就像我的做法一样。