2016-09-10 16 views
5

折りたたみ可能なツールバーレイアウトがあります。トルール内の画像が折りたたまれてスライドしていますが、リサイクルビューのアイテムは折りたたまれていません。 彼らはその位置に留まります。一番上に移動して崩壊する折りたたみ可能なツールバーがリサイクラービュー内で正しく折りたたまれていない

<android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:animateLayoutChanges="true" 
     > 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/collapps_bar" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed" 
      > 
      <View 
       android:id="@+id/image" 
       android:layout_width="fill_parent" 
       android:layout_height="200dp" 
       app:layout_collapseMode="parallax" 
       android:background="@android:color/transparent" 
       /> 
      <include layout="@layout/toolbar" /> 
      <android.support.v7.widget.RecyclerView 
       android:layout_width="match_parent" 
       android:id="@+id/recyClerView" 
       app:layout_collapseMode="parallax" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="100dp" 
       android:orientation="horizontal" /> 
     </android.support.design.widget.CollapsingToolbarLayout> 

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

こんにちはスタック学習者

recyClerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() { // Listen to all actions @Override public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) { int action = e.getAction(); switch (action) { case MotionEvent.ACTION_MOVE: // If you get some movement from a mouse, pen, finger or trackball rv.getParent().requestDisallowInterceptTouchEvent(true); break; } return false; } @Override public void onTouchEvent(RecyclerView rv, MotionEvent e) { } @Override public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) { } }); 

・ホープ、このコードを追加できますか?そうでなければ、私が言ったことは正しいですか?ありがとう! – Jaco

答えて

0

あなたがそれを行うことができたかどうかわかりませんが、そうしなかった場合の対処方法をお伝えします。

まず、fill_parentは、APIレベル8から

As Nikoloz Akhvlediani said on his answerを開始推奨されていませんので、あなたはリサイクルビューrecyClerViewを用いる方法addOnItemTouchListenerを使用することができ、その後、タッチイベントを取得するためにonInterceptTouchEventに呼び出しmatch_parentfill_parentを変更requestDisallowInterceptTouchEventを使用して、リサイクラービューからのタッチイベントを許可せずに、目的のスクロールを取得します。

例えば、onCreate()方法で、あなたは答えを見つけた、このことができます:)

関連する問題