Articles of android nestedscrollview

NestedScrollView中的子节点不能覆盖屏幕的全高

我在我的片段中使用NestedScrollView。 在我的xml里面的RelativeLayout但它没有覆盖整个屏幕高度。 以下是我的代码 – 在运行代码时,只有黑色背景可见但不是红色,因为我的子视图背景为红色。 提前致谢

使用AppBarLayout.Behavior使用NestedScrollView顺利地运行AppBarLayout

我有一个AppBarLayout和NestedScrollView。 我希望NestedScrollView只要向下滚动,AppBarLayout也应该正常展开,而不会在AppBarLayout展开之前停止NestedScrollView; 要完成这项工作,需要第二次飞行/滚动。 我检查stackoverflow,发现这个解决方案非常相关,可以使用。 但是如果是NestedScrollView,那就是RecyclerView。 它位于https://stackoverflow.com/a/32454407/3286489 我基本上拿了代码并稍微改了一下,并用来检查速度> 8000以考虑将AppBarLayout作为下面的代码。 public final class FlingBehavior extends AppBarLayout.Behavior { private boolean isPositive; public FlingBehavior() { } public FlingBehavior(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onNestedFling(CoordinatorLayout coordinatorLayout, AppBarLayout child, View target, float velocityX, float velocityY, boolean consumed) { if (velocityY > 0 && !isPositive || velocityY […]

NestedScrollView中的RecyclerView ScrollListener

我在NestedScrollView的末尾有一个NestedScrollView 。 EndlessRecyclerView意味着:当用户滚动到recyclerView的底部时,它会加载更多数据。 这已经实现并在其他地方工作但是当我将NestedScrollView放在NestedScrollView , OnScrollListener事件不会触发。 XML设计: 码: recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); // This is never fired! Here is where I implement the logic of EndlessRecyclerView } }); 如何获得上述案例的滚动事件? 我知道在彼此内部有两个可滚动视图并不好。 但是,如果没有两个可滚动的视图,我怎么能得到上述情况呢? 我已经按照这个链接但它不起作用: 在scrollview android里面的recyclelerview滚动事件

当层次结构中存在NestedScrollView时,Android不会调整我的布局大小

我刚刚在使用Android 7.1.1和Android支持库25.3.1的Nexus 9上观察到以下行为。 这是我的活动的布局: 这就是它在屏幕上的外观: 当屏幕键盘显示时,系统会调整活动的布局大小,从而占用从屏幕顶部到键盘的空间。 请在下面的屏幕截图中考虑红色虚线: 但是,当我用NestedScrollView替换ScrollView时,系统不会调整布局大小: 现在红色虚线位于键盘下方。 通过将android:windowSoftInputMode=”adjustResize”应用于活动可以轻松解决该问题: 红色虚线现在位于键盘上方。 我的问题是: 为什么我会观察到这种行为? NestedScrollView什么问题?

Recyclerview视图不能与setNestedScrollingEnabled一起使用,它也永远不会回收任何视图

我面临两个问题: 滚动侦听器将无法工作 当RecyclerView附加到NestedScrollView时,它永远不会回收任何视图。 它就像ScrollView中的线性布局。 它使用大量内存并造成滞后。 我在回收器视图的顶部附加了一个youtube播放器片段,因为我无法在回收器视图中放置片段。 在我的代码中,您可以看到有一个框架布局。 我的布局看起来像这样: 我想使用滚动侦听器来加载更多项目,所以我尝试了以下内容: @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { Log.i(TAG, “onScrolled: “); // bail out if scrolling upward or already loading data if (dy < 0 || dataLoading.isDataLoading()) return; final int visibleItemCount = recyclerView.getChildCount(); final int totalItemCount = layoutManager.getItemCount(); final int firstVisibleItem = layoutManager.findFirstVisibleItemPosition(); if […]

嵌套的scrollview会自动滚动到底部

我在NestedScrollView中有一个GridView。 每当GridView的内容发生变化时,我都使用下面的代码来调整GridView的大小。 这工作正常,但是当我从应用程序的片段3滑回到片段2(NestedScrollView所在的位置)时,NestedScrollView滚动到最底部。 奇怪的是,当从片段1滑动到片段2时不会发生这种情况。 在调整GridView大小后,它也不会直接发生。 如何通过滚动到底部来压制NestedScrollView? private static void resizeGridView(GridView gridView, int items, int columns) { ViewGroup.LayoutParams params = gridView.getLayoutParams(); params.height = singleGridHeight * items; gridView.setLayoutParams(params); gridView.requestLayout(); } 在片段之间滑动时会调用以下系统方法:

使用NestedScrollView,AppBarLayout和CoordinatorLayout平滑滚动和Fling

我正在开发一个应用程序,我正在使用带有CollapsingToolbarLayout和NestedScrollView的AppBarLayout。 我已成功实现了这一点并且工作正常。 现在我想要做的是,在Nestedscrollview上进行快速刷卡时,它应该完全滚动到顶部。 同样,在向屏幕底部投掷(快速向下滑动)时,它必须顺畅地滚动到底部。 但是现在,它只会卡在两者之间,这使它看起来很难看。 我已经尝试了许多可用的解决方案,但对我来说没有任何效果。 我目前的设置如下。 ——content————– 下面显示的最受欢迎的答案之一对我来说也不起作用。 无法滚动AppBarLayout并平滑地折叠工具栏和NestedScrollView

如何在底部检测滚动nestedscrollview android的位置?

我只是想在底部检测滚动nestedscrollview android的位置,以及to call函数。 我的代码是: scroll.getViewTreeObserver() .addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() { @Override public void onScrollChanged() { int totalHeight = scroll.getChildAt(0).getHeight(); int scrollY = scroll.getScrollY(); Log.v(“position”, “totalHeight=” + totalHeight + “scrollY=” + scrollY); if (scrollY==totalHeight) { getPlaylistFromServer(“more”); } } }); 但总高度与MAX ScrollY不同。 怎么解决?

Espresso,当NestedScrollView或RecyclerView在CoordinatorLayout中时滚动不起作用

看起来CoordinatorLayout会破坏Espresso操作的行为,例如scrollTo()或RecyclerViewActions.scrollToPosition() 。 NestedScrollView问题 对于像这样的布局: … … 如果我尝试使用ViewActions.scrollTo()滚动到NestedScrollView内的任何视图,我发现的第一个问题是我得到一个PerformException 。 这是因为此操作仅支持ScrollView而NestedScrollView不会扩展它。 这里解释了这个问题的解决方法,基本上我们可以在scrollTo()复制代码并更改约束以支持NestedScrollView 。 如果NestedScrollView不在CoordinatorLayout但是只要将它放在CoordinatorLayout ,滚动操作就会失败,这似乎有效。 RecyclerView问题 对于相同的布局,如果我用RecyclerView替换NestedScrollView ,则滚动也会出现问题。 在这种情况下,我使用RecyclerViewAction.scrollToPosition(position) 。 与NestedScrollView不同,在这里我可以看到一些滚动发生。 但是,它看起来像滚动到错误的位置。 例如,如果我滚动到最后一个位置,它会显示倒数第二个但不是最后一个。 当我将RecyclerView移出CoordinatorLayout ,滚动工作正常。 目前,由于此问题,我们无法为使用CoordinatorLayout的屏幕编写任何Espresso测试。 任何遇到相同问题或知道解决方法的人?

如何滚动到scrollview内的recyclerview中的特定位置?

我已经搜索了很多关于我的查询,但没有一个是有用的。 我有一个recyclelerview和滚动视图中的一些静态数据,它位于root parentlayout中,如下所示。 我已经设定 – scrollview.scrollto(0,0); 因为每当我打开活动时它会跳转到recyclerview firstitem并且它会跳过recyclerview上方的静态数据。 recyclerview.setNestedScrollingEnabled(false); recyclerview.setfocusable(false); 对于smoothscroll。 问题是 – layoutmanager.scrollToPositionWithOffset(pos,0); 它不起作用。 在将适配器设置为recyclerview后,我已设置了aboveline。 也尝试使用NestedScrollView但是徒劳无功。 虽然我用过 layoutmanager.scrollToPosition(pos); 对于那些跳过代码的人,我已将match_parent设置为ScrollView,并将fillviewport设置为true。 这是我的布局。 include layout=”@layout/activity_coupons” android:visibility=”gone” />