Reputation: 591
<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>
I would like to have that the linearlayout with the data is below the "textViewAppBar". I have tried to implement a RelativeLayout but it doesn't work. Now, the data is showing to the full layout but I would like to have this below the "textViewAppBar" but the SwipeRefreshLayout shall be match_parent, any suggestions? Thanks :-)
Upvotes: 34
Views: 29292
Reputation: 129
You need add in your code :
recyclerView.setNestedScrollingEnabled(false)
Upvotes: 1
Reputation: 91
app:layout_behavior should be added to the direct child of CoordinatorLayout. and after you need to use NestedScrollView in SwipeLayout like;
<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>
Upvotes: 9
Reputation: 511
app:layout_behavior
should be added to the direct child of CoordinatorLayout
.
So you should move app:layout_behavior="@string/appbar_scrolling_view_behavior"
from NestedScrollView
to 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>
Upvotes: 51
Reputation: 3011
use this
<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>
Upvotes: 8
Reputation: 591
I solved it by myself to put the SwipeRefreshLayout as the main layout and add the rest as children
Upvotes: 5