6

Android開発者のメニューガイドには、次のことが記載されています。

ユーザーがすべてのアイテムの選択を解除するか、[戻る] ボタンを押すか、バーの左側にある [完了] アクションを選択すると、アクション モードが無効になり、コンテキスト アクション バーが消えます。

技術的にはmActionMode.finish()BACKボタンを押す、またはDoneアクション選択呼び出しActionMode.Callback onDestroyActionMode()メソッドを意味します。

私の質問はToast("Action mode exit by Done select")、ユーザーが を選択したときにカスタム アクション (たとえば )Doneを実行し、Toast("Action mode exit by BACK")ユーザーがBACK?

4

1 に答える 1

2

この問題を解決する方法の 1 つは、テーマを使用して、作成したアクション モードから [完了] ボタンを非表示にすることです。次に、作成したすべてのアクション モードに独自の [完了] ボタンを追加するだけです。明らかにonDestroyActionMode、完了ボタンが押されたために呼び出されたのか、戻るボタンによって呼び出されたのかを追跡できます。これを達成するために必要な活動に適用できるテーマを次に示します。

 <style name="HideActionModeCloseTheme" parent="@android:style/Theme.DeviceDefault">
    <item name="android:actionModeCloseButtonStyle">@style/NoCloseButton</item>
</style>

<style name="NoCloseButton" parent="@android:style/Widget.DeviceDefault.ActionButton.CloseMode">
    <item name="android:visibility">invisible</item>
</style>
于 2013-04-18T13:44:15.327 に答える