我有一个collapsableToolBar布局.Tolbar内的图像是折叠和滑动但是回收器视图中的项目没有折叠,它们只保留在它们的位置.我希望它们移动到顶部并折叠.
<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>
Run Code Online (Sandbox Code Playgroud)
我不知道你是否成功做到了这一点,但我会建议你如果没有做到的话该怎么做。
首先,将 更改fill_parent为match_parent因为 fill_parent 从 API 级别 8 开始已弃用。
正如 Nikoloz Akhvlediani 在他的回答中所说addOnItemTouchListener,您可以使用回收器视图的方法recyClerView,然后调用onInterceptTouchEvent来获取触摸事件并requestDisallowInterceptTouchEvent禁止回收器视图中的触摸事件并获得所需的滚动。
例如,在onCreate()方法上,您可以添加以下代码
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) {
}
});
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助 :)
| 归档时间: |
|
| 查看次数: |
252 次 |
| 最近记录: |