Articles of android nestedscrollview

在NestedScrollView中使用RecyclerView的ItemTouchHelper:拖动滚动不起作用

我已经实现了ItemTouchHelper,就像在这篇文章中描述的那样: https ://medium.com/@ipaulpro/drag-and-swipe-with-recyclerview-b9456d2b1aaf#.k7xm7amxi 如果RecyclerView是CoordinatorLayout的子项,则一切正常。 但是如果RecyclerView是CoordinatorLayout中的NestedScrollView的子代,则拖动滚动不再起作用。 拖动项目并将其移动到屏幕的顶部或底部,RecyclerView不会像它不是NestedScrollView的子项那样滚动。 有任何想法吗?

检查nestedscrollview中的recyclelerview滚动状态

我在NestedScrollView中使用了recyclerview,我希望在滚动后将搜索栏固定到操作栏,并且必须在搜索栏下显示recyclelerview项目,我需要为我的recyclerview项目进行延迟加载(在滚动到结束后从服务器加载下一项)为此,我需要检查recyclerview滚动更改状态,当我在nestedscrollview中使用recyclelerview时,我无法做到这一点。 我尝试使用nestedscrollview滚动状态更改侦听器,它不会给我我想要的东西,也不能正常工作。 如果将嵌套滚动视图放在recyclerview中,则它不起作用。 我有懒惰加载recyclelerview但相同的布局包含其他布局,如滑块,菜单然后recyclerview。 我想滚动完整的布局,当recyclerview结束onscroll然后onload执行从Internet获取更多项目并加载recylerview。 在这里你看到我的代码: 我的布局xml代码 我的代码检查滚动状态,但它不起作用 nested_content.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() { @Override public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { if (scrollY oldScrollY) { // down ((MainActivity)getActivity()).animateNavigation(true); } if (scrollY == ( v.getChildAt(0).getMeasuredHeight() – v.getMeasuredHeight() )) { if (!is_loading) { if (current_page < all_pages) { //not work right scroll state […]

RecyclerView滚动不适用于NestedScrollView

我有一个布局,我有一个NestedScrollView包含一个图像,多个按钮和一个RecycleView。 当我说recycleView.smoothScrollToPosition或recycleView.scrollToPosition()时,它目前没有做任何事情。 拒绝滚动甚至像素。 如果我删除NestedScrollView它工作正常,但万一我失去了对周围区域的滚动效果。 你们之前有没有遇到过这个问题?

adjustPan和NestedScrollView的交互

在我的布局中,我在NestedScrollView有一个EditText 。 使用软键盘编辑EditText ,我希望NestedScrollView的内容能够向上滚动。 但是,相反,活动的整个内容都会滚动,包括不应移动的ImageView : 我想要什么(糟糕的Gimp-job): 以下是我的布局的简化版本仍然显示问题: 我已经尝试了活动上的NestedScrollView和windowSoftInputMode上的isScrollContainer各种组合,但没有任何组合给我我想要的东西:当popup软键盘时,我希望文本向上滚动,而不更改NestedScrollView ‘可见边距或后面的ImageView 。

NestedScrollView的fullScroll(View.FOCUS_UP)无法正常工作

我有一个NestedScrollView填充了一个垂直的LinearLayout,它本身有一堆各种视图types的子项:多个TextViews,两个静态GridViews,甚至一个FrameLayout来显示所有这些下面的片段。 按下后退按钮时,如果用户滚动到某个点以下,而不是完成活动,则调用“scrollToTop”方法: public static void scrollToTop(final NestedScrollView scrollview) { new Handler().postDelayed(new Runnable() { public void run() { scrollview.fullScroll(NestedScrollView.FOCUS_UP); } }, 200); } 这适用于我的应用程序的早期版本,该版本位于Play商店中。 但现在,在更新我的应用程序以定位Android Oreo(并将支持库更新到版本26.0.2)之后,它似乎从NestedScrollView的原始滚动位置下方开始滚动,而不是滚动到顶部,并停止它的位置。 所以它只是一个奇怪的口吃。 然而,在某些位置,它确实滚动到顶部(尽管非常罕见且不一致),而其他位置实际上滚动到底部,出于什么原因我不明白。 我一直在试验视图的可聚焦性,但无济于事。 例如,我读到静态GridViews可能会在滚动时中断焦点。 我也尝试了各种不同的方法来向上滚动,例如 scrollview.pageScroll(View.FOCUS_UP); 和 scrollview.smoothScrollTo(0,0); 但似乎没有任何效果。 这次支持库有什么问题吗?

错误膨胀类 – NestedScrollView – 找不到类

运行Android Studio 2.1.2,Windows 7。 我用NestedScrollView替换了ScrollView,现在我得到了 android.view.InflateException:二进制XML文件行#2:错误膨胀类NestedScrollView java.lang.ClassNotFoundException:在路径上找不到类“android.view.NestedScrollView”:/ data / app / com.assemblyguide.remote-48.apk …当我在该XML文件上调用SetContentView()时。 当我只有一个ScrollView时,我没有得到它。 我已经尝试过清理,并使缓存无效并重建。 XML看起来像这样。 。 。 <!– Relative layout for Required Time –> 这个错误意味着什么,我该如何解决?

在nestedscrollview中的recyclerview中将项目拖出可见空间时 – nestedscrollView不会滚动

我有一个建筑,其中有两个项目是静态和recyclerview与可拖动项目。 两种types的视图都由LinearLayout包装。 LinearLayout由NestedScrollView包装。 XML说明: 图解说明: 我从本教程中拖拽项目的实现: https : //medium.com/@ipaulpro/drag-and-swipe-with-recyclerview-6a6f0c422efd#.yc7me2ikf 问题是当我将他的孩子拖出屏幕时, RecyclerView不会滚动。 (但是,如果我没有将NestedScrollView作为父级,则RecyclerView将按预期工作。) 我搜索了与此相关的每个问题,但我没有find任何解决方案。

使用NestedScrollView处理VerticalViewPager的滚动

背景: 我使用的是ViewPager的变体,它不是在水平方向上滚动,而是在垂直方向上滚动。 VerticalViewPager : https : //android.googlesource.com/platform/packages/apps/DeskClock/+/master/src/com/android/deskclock/VerticalViewPager.java android.support.v4.app.FragmentStatePagerAdapter用于设置VerticalViewPager的内容。 每次调用FragmentStatePagerAdapter getItem() ,我都会从FragmentStatePagerAdapter创建并返回一个新的android.support.v4.app.Fragment实例,如下所示: @Override public Fragment getItem(int position) { return PreviewFragment.getNewFragmentInstance(position); } PreviewFragment呈现可能不适合屏幕的内容。 为了显示不适合屏幕的所有内容, android.support.v4.widget.NestedScrollView用作PreviewFragment布局的父元素。 问题: PreviewFragment内容按预期滚动到位置0。 但是,为了切换到下一页,必须多次执行甩动或滑动操作,因此向位置1的页面滑动是非常困难的。 此外,投掷或滑回到位置0非常困难或几乎不可能。 需要: Fling或滑动或切换到PreviewFragment下一个实例应该是平滑的。 换句话说,滚动内容应该是平滑的,同时请记住,滑动到下一页也应该顺利工作。 如上所述链接到示例项目

滚动到折叠视图而不使用工具栏

我正在制作类似于最近android的状态栏的布局。 我在容器内有两个Views 。 ViewPager和RecyclerView 。 默认行为应该是当我滚动RecyclerView ,我希望ViewPager减小尺寸,反之亦然。 逻辑: viewPagerMaxHeight = 200; if scrollTop is ViewPager.height > viewPagerMaxHeight? YES: Prevent Scroll and Decrease ViewPager size apropriatry No: Scroll RecyclerView if scrollBottom did we scroll to position 0? YES: Start increasing ViewPager size No: Scroll RecyclerView 几点注意事项: – RecyclerView包含各种尺寸的物品。 – 有时会移除和添加项目 – 这是一个简单的RecyclerView,而不是在通知中彼此折叠。 我可以自己构建大部分逻辑,但是我无法为RecyclerView做一个合适的监听器,它将返回滚动的方向和数量。 防止RecyclerView滚动是一个奖励 编辑: 我在github上做了一个例子 […]

NestedScrollView onBindViewHolder中的RecyclerView调用所有getItemCount大小

当我把RecyclerView放在NestedScrollView然后onBindViewHolder调用所有行,比如说我有一个大小为30的列表,那么即使没有滚动,也会同时为所有30行调用onBindViewHolder RecyclerView list; LinearLayoutManager layoutManager = new LinearLayoutManager(getContext()); list.setLayoutManager(layoutManager); layoutManager.setAutoMeasureEnabled(true); list.setNestedScrollingEnabled(false); list.addItemDecoration(new VerticalSpaceItemDecoration(5)); list.setAdapter(adapter); 我的xml是 但如果我删除NestedScrollView它正常工作。