2015-08-29 17 views
14
<RelativeLayout 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"> 

    <!--<include--> 
    <!--android:id="@+id/app_bar"--> 
    <!--layout="@layout/app_bar" />--> 


    <android.support.design.widget.CoordinatorLayout 
     android:id="@+id/rootLayout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_below="@+id/app_bar"> 

     <android.support.design.widget.AppBarLayout 
      android:layout_width="match_parent" 
      android:layout_height="256dp"> 

      <android.support.design.widget.CollapsingToolbarLayout 
       android:id="@+id/collapsingToolbarLayout" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       app:contentScrim="?attr/colorPrimary" 
       app:expandedTitleMarginStart="64dp" 
       app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

       <ImageView 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:scaleType="centerCrop" 
        android:src="@drawable/header" 
        app:layout_collapseMode="parallax" 
        app:layout_collapseParallaxMultiplier="0.7" /> 

       <android.support.v7.widget.Toolbar 
        android:id="@+id/toolbarTutorial" 
        android:layout_width="match_parent" 
        android:layout_height="50dp" 
        android:minHeight="?attr/actionBarSize" 
        app:layout_collapseMode="pin" 
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
        app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> 

       <TextView 
        android:id="@+id/textViewAppBar" 
        android:layout_width="match_parent" 
        android:layout_height="50dp" 
        android:layout_gravity="bottom" 
        android:gravity="center" 
        android:scrollbarDefaultDelayBeforeFade="@id/toolbarTutorial" 
        android:text="test" 
        android:textColor="@color/white" 
        android:textSize="30sp" /> 


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

      <!--<android.support.design.widget.TabLayout--> 
      <!--android:id="@+id/tabLayout"--> 
      <!--android:layout_width="match_parent"--> 
      <!--android:layout_height="wrap_content"--> 
      <!--app:layout_scrollFlags="scroll|enterAlways"/>--> 

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


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

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


       <!--<android.support.v4.widget.SwipeRefreshLayout--> 
       <!--android:id="@+id/activity_main_swipe_refresh_layout"--> 
       <!--android:layout_width="match_parent"--> 
       <!--android:layout_height="wrap_content">--> 
       <LinearLayout 
        android:id="@+id/linearLayoutWithData" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:orientation="vertical" 
        app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

        <!--<TextView--> 
        <!--android:id="@+id/textViewInternet"--> 
        <!--android:layout_width="match_parent"--> 
        <!--android:layout_height="wrap_content"--> 
        <!--android:textColor="@color/black"/>--> 


       </LinearLayout> 
       <!--</android.support.v4.widget.SwipeRefreshLayout>--> 
      </android.support.v4.widget.NestedScrollView> 
     </android.support.v4.widget.SwipeRefreshLayout> 

     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/btnFAB" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom|right" 
      android:layout_marginBottom="@dimen/codelab_fab_margin_bottom" 
      android:layout_marginRight="@dimen/codelab_fab_margin_right" 
      android:src="@drawable/ic_plus_blue" 
      app:fabSize="normal"> 

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

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

Mi piacerebbe avere che il linearlayout con i dati è sotto il "textViewAppBar". Ho provato a implementare un RelativeLayout ma non funziona. Ora, i dati vengono visualizzati per il layout completo, ma mi piacerebbe avere questo sotto "textViewAppBar" ma SwipeRefreshLayout deve essere match_parent, qualche suggerimento? Grazie :-)SwipeRefreshLayout con NestedScrollView e LinearLayout

risposta

4

ho risolto da solo per mettere lo SwipeRefreshLayout come il layout principale e aggiungere il resto come i bambini

+3

puoi condividere lo snippet? quale layout principale? –

+0

@RahulPatil dai un'occhiata alla mia risposta sotto –

5

uso questo

<android.support.v4.widget.SwipeRefreshLayout 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:id="@+id/swipeContainer" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<android.support.design.widget.CoordinatorLayout 
    ... your attribute here ... > 

    <android.support.design.widget.AppBarLayout 
     ... your attribute here ... > 

     <android.support.design.widget.CollapsingToolbarLayout 
      ... your attribute here ... > 

      ... your element here ... 

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

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

    <android.support.v4.widget.NestedScrollView 
     ... your attribute here ... > 

     ... your element here ... 

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

+0

con questo il layout comprimibile non sta funzionando..molto non è collassare – GvSharma

18

app:layout_behavior dovrebbero essere aggiunti al diretto figlio di CoordinatorLayout.

Quindi è necessario spostare app:layout_behavior="@string/appbar_scrolling_view_behavior" da NestedScrollView a SwipeRefreshLayout.

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

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

    <android.support.v4.widget.SwipeRefreshLayout 
     android:id="@+id/swipe_container" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     <android.support.v4.widget.NestedScrollView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fillViewport="true"> 
      ... 
     </android.support.v4.widget.NestedScrollView> 

    </android.support.v4.widget.SwipeRefreshLayout> 

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

app: layout_behavior deve essere aggiunto al figlio diretto di CoordinatorLayout. e dopo aver bisogno di usare NestedScrollView in SwipeLayout come;

<android.support.v4.widget.SwipeRefreshLayout 
    android:id="@+id/swipe_container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <android.support.v4.widget.NestedScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fillViewport="true"> 
     ... 
    </android.support.v4.widget.NestedScrollView> 

</android.support.v4.widget.SwipeRefreshLayout>