我正在使用最新的支持设计(compile'com.android.support:design:'
),23.2版本中的支持设计应该已经解决了ScrollView内部的RecyclerView问题。RecyclerView和ExpandableListView滚动都能很好地工作。但是当ExpandableListView太长时,我希望能够向上滚动布局,以便可以看到其余部分时,scrollview就无法工作。
片段:
myRecyclerView = (RecyclerView) view.findViewById(R.id.myRecyclerView);
myRecyclerView.setNestedScrollingEnabled(false);
LinearLayoutManager layoutManager = new LinearLayoutManager( mContext, LinearLayoutManager.HORIZONTAL, false );
layoutManager.setAutoMeasureEnabled(true);
myRecyclerView.setLayoutManager(layoutManager);
MyListAdapter myListAdapter = new MyListAdapter(recyclerDataList, getActivity());
myRecyclerView.setAdapter(myListAdapter);
xml:
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:fillViewport="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<TextView
android:id="@+id/headerText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="header text"
android:layout_marginRight="10dp"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/myRecyclerView"
android:layout_below="@id/headerText"
android:scrollbars="none"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<ExpandableListView
android:id="@+id/expandableList"
android:layout_below="@id/myRecyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="1dp"
android:dividerHeight="0dp"
android:groupIndicator="@null"
android:listSelector="@android:color/transparent"
android:showDividers="middle" >
</ExpandableListView>
</RelativeLayout>
</ScrollView>
你应该这样做:
执行RecyclerView的OnItemTouchListener,并禁止在操作\u MOVE
上发生父触摸事件。
recyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
int action = e.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
recyclerView.getParent().requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_UP:
recyclerView.getParent().requestDisallowInterceptTouchEvent(false);
break;
case MotionEvent.ACTION_MOVE:
recyclerView.getParent().requestDisallowInterceptTouchEvent(true);
break;
}
return false;
}
@Override
public void onTouchEvent(RecyclerView rv, MotionEvent e) {
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
}
});
希望这对你有帮助。
您需要在运行时计算listview高度,不能像这样在滚动视图中使用listview或消耗性listview。
滚动视图内的Android列表视图
我正在尝试实现一个布局,它在同一布局中包含RecyclerView和ScrollView。 布局模板: 问题:我可以滚动到的最后一个元素 我尝试过的事情: 中的 卡片视图(现在包含)-可以查看卡片直到 最初的想法是使用而不是使用来实现这个,后者的视图类型之一是,但我得到的结果与使用完全相同
我有一个xml布局,它有以下视图:滚动视图->Relationvelayout->Some views+Tablayout+ViewPager->RecylerView(在ViewPager的片段中)。ViewPager有一些固定的高度(保持它“wrap_content”根本不会显示它)。现在的问题是Recylerview永远不会滚动。我已经尝试了几个已经发布的解决方案,比如在“嵌套滚动视图”中包
我在嵌套滚动视图中实现了一个回收视图。但是循环视图滚动到位置方法不起作用。 下面是我的示例代码 下面是滚动的方法
我试图在ScrollView中有一个RecyclerView。我的问题是,当我滚动RecyclerView时,这并不“平滑”:一旦你松开手指,滚动就会立即停止。 我在片段中的布局是: 滚动视图 线性布局 文本视图 回收r查看 按钮 我尝试禁用嵌套滚动: 以及mRecyclerView的包装内容: 获得我想要的平滑滚动,但通过这种方式,RecyclerView的高度比它应该的要小(并且它不再滚动,所
我有一个包含ImageView和RecyclerView的Scrollview。如果导航抽屉打开然后关闭了RecyclerView自动滚动到顶部,如何停止?
我在ScrollView中的ConstraintLayout中有一个floatingActionButton 问题是按钮随UI上下滚动 PS:我不知道这是否重要,但是scrollView在一个drawerLayout里面