滑动长度/速度阈值列表视图滑动到删除操作(如KitKat股票电子邮件应用程序)

时间:2014-04-14 21:27:55

标签: android swipe-gesture onfling

最新(4.4 KitKat)Android股票电子邮件客户端用于确定水平滑动是否足以导致在查看收件箱列表时删除电子邮件的参数(滑动距离和/或速度)是什么?< / p>

我不熟悉Android编程和Android源代码,虽然有些Google搜索在EmailProvider.java中产生了这段代码:

    if (projectionColumns.contains(UIProvider.AccountColumns.SettingsColumns.SWIPE)) {
        values.put(UIProvider.AccountColumns.SettingsColumns.SWIPE,
                mailPrefs.getConversationListSwipeActionInteger(false));
    }

这导致我进入SwipeableListView类似乎正在实现此行为,但我无法找到定义电子邮件应用程序阈值的位置。

如果电子邮件应用使用默认行为,任何人都知道为此应用定义了滑动阈值的位置,还是知道所有SwipeListView实例的滑动阈值?

我问这些问题是因为我们的团队刚刚在iOS应用的列表视图中实现了滑动删除,以及我们选择的初始滑动阈值(列表项宽度的50%,没有调整滑动速度)不够敏感,这意味着触发滑动到删除操作太难了。 (是的,我知道iOS有默认的刷卡删除行为,但我们正在构建我们的自定义,因为iOS的默认刷卡到删除操作需要确认按钮,但此视图无法显示每次删除需要2次点击)

Android股票电子邮件应用程序的刷卡删除行为符合我们希望我们的应用程序的工作方式。它似乎与距离和速度有关。因此,我们希望将类似行为移植到iOS。有没有人知道用于区分&#34;刷卡&#34;的确切阈值(或算法)。来自&#34;不刷卡&#34;在KitKat电子邮件应用程序?

1 个答案:

答案 0 :(得分:2)

常量在/res/values/animation_constants中定义,并使用SwipeHelper来应用。

默认情况下,SwipeHelper已禁用SwipeableListView,但SwipeableListView.enableSwipe使用{{1}}启用了{{1}}。