我正在尝试使用重叠项目(类似轮播组件)实现ViewPager2。一切似乎都很好,但我的中心项目与下一个项目重叠。我希望我的中心物品位于任何相邻物品的前面。
见下图:
当你使用ViewPager1类时,我们可以覆盖getChildDrawingOrder。
@Override
protected int getChildDrawingOrder(int childCount, int i)
请参见此处的示例解决方案:链接
但不能派生和扩展ViewPager2(因为ViewPager1类是最终类)。我该怎么办?
经过一些研究,我最终决定放弃ViewPager2,回到ViewPager1,因为我可以重写getChildDrawingOrder函数,然后我按照这个答案实现了我真正想要的。希望当ViewPager2很快定稿时,他们会让ViewPager 2课程成为非最终课程
在引擎盖下ViewPager2
包含一个RecyclView
,因此如果您想更改子绘图顺序,您需要在RecyclView
上执行此操作。
虽然这不是一个官方支持的解决方案,但您可以通过请求查看页面上的第一个孩子来访问回收视图。请参阅此评论:
https://issuetracker.google.com/issues/134912610#comment3
< code > val recycle view = view page 2 . get child at(0)
一旦您可以访问RecyclView
,您就可以添加ChildDrawingOrderCallback
。
https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ChildDrawingOrderCallback
如果您正好有3个页面,并且希望中间的页面被绘制在其他页面的顶部,下面的代码可以工作。
recyclerView.setChildDrawingOrderCallback { childCount, i ->
when (i) {
0 -> 0
1 -> 2
2 -> 1
else -> throw IllegalStateException("Expected 3 items")
}
}
问题内容: 我在Matplotlib网站上遇到了这个示例。我想知道是否有可能增加图形尺寸。 我尝试过 但它什么也没做。 问题答案: 如果已经有了图形对象,请使用: 但是,如果您使用.subplots()命令(如您所显示的示例中所示)来创建新图形,则还可以使用:
我在Matplotlib网站上看到了这个例子。我想知道是否有可能增加体型。 我试过了 但它什么也做不了。
问题内容: 如何更改图像尺寸以适合打印? 例如,我想使用A4纸,其横向尺寸为11.7英寸乘8.27英寸。 问题答案: 您需要提前创建matplotlib Figure和Axes对象,并指定图形的大小:
如何更改图像的大小,使其适合打印? 例如,我想使用A4纸,其尺寸为横向11.7英寸乘8.27英寸。
我有以下(): 我按分配添加更多列: 如何将列移到前面,即将其设置为第一列,其他列的顺序保持不变?
问题内容: 我有以下: 我通过分配添加了更多列: 如何将列mean移到最前面,即将其设置为第一列,而其他列的顺序保持不变? 问题答案: 你还可以执行以下操作: 你可以通过以下方式获取列列表: 输出将产生: …然后轻松将其放到第一个功能中即可手动重新排列