android.support.v4.widget.SwipeRefreshLayout не проводит пальцем внутри android.support.design.widget.AppBarLayout

Цель состоит в том, чтобы иметь сворачивающиеся toolbar и SwipeRefreshLayout, в которых есть элементы. Чтобы иметь возможность использовать библиотеку поддержки, я использую CoordinatorLayout, на котором размещен файл AppBarLayout. У этого AppBarLayout есть toolbar и SwipeRefreshLayout, которые имеют вид сетки. При использовании app:layout_scrollFlags="scroll|enterAlways" проблем со складыванием и открытием toolbar нет, однако SwipeRefreshLayout не смахивает полностью вниз, т. е. застревает. При извлечении SwipeRefreshLayout из AppBarLayout он нормально прокручивается, но на этот раз панель инструментов не сворачивается. ниже макет xml. любая помощь приветствуется.

PS: я использовал эта ссылка для реализации сворачивающейся панели инструментов:

Вот мой макет:

<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_height="match_parent"                                                                             
    android:layout_width="match_parent">                                                                

    <android.support.design.widget.AppBarLayout                                                                      
        android:id="@+id/appBarLayout"                                                                               
        android:layout_width="match_parent"                                                                          
        android:layout_height="wrap_content">                                                                        

        <android.support.v7.widget.Toolbar                                                                               
            android:id="@+id/toolbar"                                                                                    
            android:layout_width="match_parent"                                                                          
            android:layout_height="50dp"                                                                                 
            app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"                                                     
            android:background="@color/primary_dark"                                                                     
            app:layout_scrollFlags="scroll|enterAlways">                                                                                                                                             
        </android.support.v7.widget.Toolbar>                                                                             

        <android.support.v4.widget.SwipeRefreshLayout                                                                    
            xmlns:android="http://schemas.android.com/apk/res/android"                                                   
            android:id="@+id/swiperefresh"                                                                               
            android:layout_width="match_parent"                                                                          
            android:layout_height="match_parent"                                                                         
            app:layout_behavior="@string/appbar_scrolling_view_behavior">                                                

            <GridView                                                                                                    
                android:id="@+id/gridview"                                                                               
                android:layout_width="match_parent"                                                                      
                android:layout_height="match_parent"                                                                     
                android:verticalSpacing="2dp"                                                                            
                android:horizontalSpacing="2dp"                                                                          
                android:paddingLeft="@dimen/activity_horizontal_margin"                                                  
                android:paddingRight="@dimen/activity_horizontal_margin"                                                 
                android:paddingTop="@dimen/activity_vertical_margin"                                                     
                android:paddingBottom="@dimen/activity_vertical_margin"                                                  
                android:stretchMode="columnWidth"                                                                        
                android:numColumns="2"/>                                                                                                                                                           
        </android.support.v4.widget.SwipeRefreshLayout>                                                                  

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

</android.support.design.widget.CoordinatorLayout> 

person erol yeniaras    schedule 11.10.2016    source источник
comment
Спасибо, Реаз! Отличная редакция!   -  person erol yeniaras    schedule 11.10.2016
comment
Убедитесь, что вы используете последнюю версию библиотеки поддержки. Также это известный вариант использования, вы пытались погуглить: «coordinatorlayout swiperefresh» или что-то в этом роде?   -  person Michał Z.    schedule 12.10.2016
comment
Я много гуглил. Один из хороших ответов, которые я нашел, был: 30624138/, что не сработало в моем случае. Я попробую последнюю библиотеку поддержки, так как сейчас использую 23.0.2.   -  person erol yeniaras    schedule 13.10.2016


Ответы (1)


meybe android.support.v4.widget.SwipeRefreshLayout поддерживает только Linearlayout внутри

мой макет:

  <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageView
            android:id="@+id/iv_main"
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:src="@drawable/cat"/>
    </LinearLayout>
</com.activity.com.swiperfreshlayout.PullToRefreshScrollView>
person 心之所向    schedule 11.10.2016