-1

最新 (4.4 KitKat) の Android ストック電子メール クライアントが、受信トレイ リストを表示するときに電子メールを削除するのに十分な距離まで水平方向にスワイプするかどうかを判断するために使用するパラメーター (スワイプ距離および/または速度) は何ですか?

私は 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 に移植したいと考えています。KitKat メール アプリで「スワイプ」と「非スワイプ」を区別するために使用される正確なしきい値 (またはアルゴリズム) を知っている人はいますか?

4

1 に答える 1

2

定数は で定義され/res/values/animation_constants、 を使用して適用されSwipeHelperます。

デフォルトSwipeHelperでは、 では無効になっていますが、を使用SwipeableListViewすると有効になります。ConversationListFragmentSwipeableListView.enableSwipe

于 2014-04-14T22:38:32.600 に答える