自定义EditText的ActionMenu

时间:2014-01-24 20:24:58

标签: android android-actionbar android-actionbar-compat

我想为EditText提供简单的格式设置按钮,例如,如果没有选择文字则会插入<strong></strong>的按钮,否则会将所选文本包装在<strong>标签中。

我正在使用支持库v7和ActionBarCompat。在我的ActionMode重点更改后,我设法启动了自定义EditText。但是,当我长按EditText中的文字时,会打开另一个ActionMode菜单,其中包含复制/粘贴/按钮,这可能是Android的默认行为。如何禁止显示第二个菜单,但仍然让用户选择EditText内容的部分内容?

或者我希望能够使用setCustomSelectionActionModeCallback(...)自定义默认菜单,但使用支持库。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

不幸的是,TextViewEditText没有为您提供使用ActionBarCompat课程的API。但是,您应该能够覆盖此行为。

设置自定义onLongClickListener,您可以在其中设置自己的状态信息并致电supportInvalidateOptionsMenu()。请务必从OnLongClickListener.onLongClick()方法返回“true”,表示您消耗了点击次数。然后,在onPrepareOptionsMenu中,您可以为自定义操作栏添加所需的任何新菜单项。我建议不要使用TextView上下文菜单项ID'selectAll','cut','copy'和'paste',只是为了安全起见。