比如我们在我们的资源布局文件当中使用 RecyclerView,如果不使用 AndroidX 的话会引用 android.support.v7.widget.RecyclerView
,而如果配置工程使用 AndroidX 的话会引用 androidx.recyclerview.widget.RecyclerView
。
Google 希望开发者可以尽快使用 AndroidX 以获得最新的支持,但是当我尝试将我自己的项目支持库转移到 AndroidX 库时发现会有 bug。比如我在一个项目中试图实现嵌套滑动:
嵌套滑动示例比方说上图的这个例子,一个 BottomSheet 里面有一个 RecyclerView,在下拉列表时如果拉到顶部时不松手继续向下拉,BottomSheet 就会向下滑动回到底部(BottomSheetBehavior.STATE_COLLAPSED
)状态。
实现这个嵌套滑动比较简单,只要实现 NestedScrollView
的 onStartNestedScroll()
方法和 onNestedPreScroll()
方法就可以了。
不过当我点击 Android Studio 的 Refactor > Migrate to AndroidX... ,将项目的支持库全部更新到 AndroidX 后,再次运行 app,结果成了这个样子:
使用 AndroidX 以后的结果经检查,发现 onStartNestedScroll()
方法和 onNestedPreScroll()
方法都没有执行。因为转移前后代码没有更改过,所以我还不知道为什么会出现这样的结果,可能是 AndroidX 的一个 bug,我想。