0

Я пытаюсь реализовать свернутую панель инструментов в приложении для Android. Я могу показать панель инструментов так, как я ее хочу, но она не рушится при прокрутке.Свертывание панели инструментов не сбрасывается при прокрутке

Я использую ниже код

activity.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
android:orientation="vertical" 
tools:context=".MainActivity"> 

<include layout="@layout/main_toolbar" /> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <com.gigamole.navigationtabstrip.NavigationTabStrip 
     android:id="@+id/nts_strip" 
     android:layout_width="match_parent" 
     android:layout_height="30dp" 
     android:background="@color/colorPrimary" 
     android:elevation="4dp" 
     app:nts_active_color="@color/white" 
     app:nts_animation_duration="300" 
     app:nts_color="@color/white" 
     app:nts_corners_radius="1.5dp" 
     app:nts_inactive_color="@color/white_transparent" 
     app:nts_titles="@array/nts_titles" /> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/pager_photos" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:background="@color/white_transparent" /> 
</LinearLayout> 
</LinearLayout> 

main_toolbar.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 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" 
app:layout_collapseMode="parallax" 
android:orientation="vertical"> 

<android.support.design.widget.AppBarLayout 
    android:id="@+id/appBar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/collapsingToolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:layout_scrollFlags="scroll|enterAlwaysCollapsed"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="@color/colorPrimary" 
      app:layout_collapseMode="pin" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 

      <TextView 
       android:id="@+id/tv_toolbar_title" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:gravity="center_vertical" 
       android:textAppearance="?android:attr/textAppearanceLarge" 
       android:textColor="@color/white" /> 
     </android.support.v7.widget.Toolbar> 
    </android.support.design.widget.CollapsingToolbarLayout> 
</android.support.design.widget.AppBarLayout> 

ниже, как экран выглядит

enter image description here

ответ

0

Добавить

app:layout_behavior="@string/appbar_scrolling_view_behavior" 

для LinearLayout в activity.xml файле.

Также добавьте

app:layout_collapseMode="pin" 
app:layout_scrollFlags="scroll|enterAlways" 

для Toolbar

+0

сделал изменения, по-прежнему не работает –

+0

Изменить 'приложения: layout_scrollFlags = "exitUntilCollapsed"' 'в приложении: layout_scrollFlags = "свиток | enterAlwaysCollapsed"' 'для CollapsingToolbarLayout' @KaranMer – Piyush

+0

до сих пор не работает. –

0

вы должны добавить флаги прокрутки в панели инструментов

https://developer.android.com/reference/android/support/design/widget/AppBarLayout.LayoutParams.html

Образец

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

+0

все еще не работает. –

0

Попробуйте

activity.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:context="custom.com.myapplication.ScrollingActivity"> 

<android.support.design.widget.AppBarLayout 
    android:id="@+id/app_bar" 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/app_bar_height" 
    android:fitsSystemWindows="true" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/toolbar_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fitsSystemWindows="true" 
     app:contentScrim="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

     <include layout="@layout/main_toolbar" /> 

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

<android.support.v4.widget.NestedScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <com.gigamole.navigationtabstrip.NavigationTabStrip 
     android:id="@+id/nts_strip" 
     android:layout_width="match_parent" 
     android:layout_height="30dp" 
     android:background="@color/colorPrimary" 
     android:elevation="4dp" 
     app:nts_active_color="@color/white" 
     app:nts_animation_duration="300" 
     app:nts_color="@color/white" 
     app:nts_corners_radius="1.5dp" 
     app:nts_inactive_color="@color/white_transparent" 
     app:nts_titles="@array/nts_titles" /> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/pager_photos" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" /> 
</android.support.v4.widget.NestedScrollView> 

Панель

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/toolbar" 
android:layout_width="match_parent" 
android:layout_height="?attr/actionBarSize" 
android:background="@color/colorPrimary" 
app:layout_collapseMode="pin" 
app:layout_scrollFlags="scroll|enterAlways" 
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 

<TextView 
    android:id="@+id/tv_toolbar_title" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center_vertical" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:textColor="@color/white" /> 

+0

@manlevj: Я пробовал это раньше, это вызывало проблемы, так как есть recyclerview внутри viewpager. приложение замораживало ui, и прокрутка больше не работала. –

Смежные вопросы