刷掉RecyclerView条目后如何单击屏幕外的视图?

时间:2018-09-12 21:48:08

标签: android android-recyclerview android-constraintlayout android-viewholder itemtouchhelper

我正在使用ItemTouchHelper实现RecyclerView,
RecyclerView中的每个条目都包含具有嵌套TextView,ImageView和2 Buttons的自定义ConstraintLayout。 (和几条准则)
我自定义ConstraintLayout只是为了覆盖onMeasure,并将其大小更改为屏幕大小的两倍。
如下所示:(注意:“ 2 * pureSize ”是要点的核心)

@Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int pureSize = MeasureSpec.getSize(widthMeasureSpec);
        int pureMode = MeasureSpec.getMode(widthMeasureSpec);
        super.onMeasure(pureMode+(int)(2*pureSize), heightMeasureSpec);
    }

主要原因是使TextView和ImageView可见,并使Buttons不在屏幕上,仅在用户将条目向左滑动后才显示。
如以下gif所示: enter image description here

但是,两个按钮都无法正常工作,好像它们陷入了困境。就像它们从死里复活一样,它们出现了,但它们本身不再存在了。
滑动后按钮会发生什么?
如何复活?
它们有用吗?
我试图谷歌这个话题无济于事。

我拒绝的可能的设计替代方案:
将按钮移到RecyclerView的左侧,或等效地确保RecyclerView处于屏幕尺寸内-解决此问题并使它们再次可行。但这太丑了,屏幕变得混乱了。
另一种可能的解决方案是直接通过 ItemTouchHelper.SimpleCallback.onSwiped()与AlertDialog结合,使用滑动机制来启动删除和编辑。但是同样,它的流利程度不如我想要的那样。

任何使这些按钮起作用的帮助将不胜感激。

0 个答案:

没有答案