gpt4 book ai didi

android - NestedScrollView 在 Nougat (API 25) 上抛出停止错误

转载 作者:IT老高 更新时间:2023-10-28 23:14:18 27 4
gpt4 key购买 nike

我对 Nexus 5x (7.1.2) 和 Google Pixel (7.1.1) 上的 NestedScrollView fling 有一个奇怪的问题。在其他操作系统版本上它工作正常。

弹跳动画有时会在抬起手指后立即停止。它卡住了,接下来的几次 throw 也可能停止。为了重现它,你需要上下甩动几次。

在日志中,这些弹跳在速度、方向等方面看起来几乎相同,所以我找不到这个错误的真正原因。

另外NestedScrollView也不一定要在CoordinatorLayout里面,也可以完全没有NestedScrollingChild

例如,此错误可通过以下 NestedScrollView 子项之一重现:

1) LinearLayout 填充有 TextViews

2) WebView

3) LinearLayout 填充有 RecyclerViews

我知道 RecyclerViewCoordinatorLayout 内部的 Behaviors 可能存在的问题,但这并不相关。所以请不要提及任何

recyclerView.getLayoutManager().setAutoMeasureEnabled(true);
recyclerView.setNestedScrollingEnabled(false);

或类似的东西。

代码示例:

<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:text="Put a super long text here"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:text="Put a super long text here"/>

</LinearLayout>

</android.support.v4.widget.NestedScrollView>

最佳答案

所以这显然是 NestedScrollView 中的一个错误。我已经为此制定了解决方法,但仍在等待 Google 方面的适当修复。

https://github.com/Dimezis/FlingableNestedScrollView/

编辑:

该问题似乎已在支持库 26.0.0-beta2 中得到解决

https://chris.banes.me/2017/06/09/carry-on-scrolling/

编辑 2:虽然现在滚动工作正常,但在我的应用程序中我可以不断重现这个错误:

https://issuetracker.google.com/issues/37051723

如果有人也遇到它,您可以在提到的线程中找到解决方法。

关于android - NestedScrollView 在 Nougat (API 25) 上抛出停止错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42783030/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com