在 Android 开发者中菜单指南 http://developer.android.com/guide/topics/ui/menus.html#CAB其中提到:
当用户取消选择所有项目、按“后退”按钮或选择操作栏左侧的“完成”操作时,操作模式将被禁用,上下文操作栏也会消失。
从技术上来说,这意味着mActionMode.finish()
, the BACK
按下按钮,或Done
动作选择调用ActionMode.Callback onDestroyActionMode()
method.
我的问题是如何执行自定义操作(例如Toast("Action mode exit by Done select")
)当用户选择Done
,和另一个动作(例如Toast("Action mode exit by BACK")
)当用户按下BACK
?
解决此问题的一种方法是使用主题从您创建的操作模式中隐藏完成按钮。然后,您只需将自己的“完成”按钮添加到您创建的每个操作模式中即可。显然你可以跟踪是否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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)