NestedScrollView与ImageView的和回收视图

问题描述:

回收站视图获取里面的ImageView和imageview的滚动保持stationary.My要求是既滚动视图时recyclerview是scrolled.The XML我已经写了下面给出:NestedScrollView与ImageView的和回收视图

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

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

     <LinearLayout 
      android:gravity="center_vertical" 
      android:id="@+id/profileLayout" 
      android:layout_width="match_parent" 
      android:layout_height="180dp" 
      android:background="@color/primary_color" 
      android:orientation="vertical" 
      android:padding="10dp"> 

      <de.hdodenhof.circleimageview.CircleImageView 
       android:id="@+id/profile_image" 
       android:layout_width="96dp" 
       android:layout_height="96dp" 
       android:src="@drawable/profile_user" 
       app:border_color="#ffffff" 
       app:border_width="2dp" /> 

      <TextView 
       android:id="@+id/fullNameTextView" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="10dp" 
       android:textColor="@color/primary_color" /> 
     </LinearLayout> 


    <android.support.v7.widget.RecyclerView 
      android:id="@+id/drawerList" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="@color/myDrawerBackground" 
      app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

    </LinearLayout> 

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

我如何实现这种类型的滚动?

+0

https://github.com/chrisbanes/cheesesquare看看这个代码,它可以帮助你 –

+0

@LalitPratapSingh NestedScrollView在库使用的TextView包裹在里面Cardview那不是我正在寻找的! –

我认为你应该使用CoordinatorLayout为了这个目的,你可以把你的圆形ImageViewCollapsingToolbarLayout &你也可以用它来设置你的标题,而不是你的TextView这是由fullNameTextView ID如下规定的:

XML:

<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.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar_layout" 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/collapsible_app_bar_height" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="@drawable/gradient_banner" 
      app:contentScrim="@color/background_content_frame" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

      <de.hdodenhof.circleimageview.CircleImageView 
       android:id="@+id/profile_image" 
       android:layout_width="96dp" 
       android:layout_height="96dp" 
       android:src="@drawable/profile_user" 
       app:border_color="#ffffff" 
       app:border_width="2dp" 
       app:layout_collapseMode="parallax" /> 

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

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

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

    <android.support.v7.widget.RecyclerView 
      android:id="@+id/drawerList" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="@color/myDrawerBackground" 
      app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

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

的Java:

CollapsingToolbarLayout collapsingToolbar = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar); 
collapsingToolbar.setTitle("Title"); 

参考:https://guides.codepath.com/android/Handling-Scrolls-with-CoordinatorLayout

<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" 
    android:background="@color/cardview_light_background" 
    android:orientation="vertical"> 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/scrollView" 
     tools:ignore="UselessParent" > 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      tools:ignore="ExtraText" 
      android:weightSum="1" > 

      <ImageView 
       android:id="@+id/image_offer" 
       android:layout_width="match_parent" 
       android:layout_height="250dp" 
       android:scaleType="fitXY" 
       app:srcCompat="@drawable/kuhnyamain" 
       tools:ignore="ContentDescription" /> 

      <android.support.v7.widget.RecyclerView 
       android:id="@+id/recyclerView" 
       android:layout_marginTop="250dp" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" > 
      </android.support.v7.widget.RecyclerView> 

     </LinearLayout> 

    </ScrollView> 

</RelativeLayout>