-3
A
回答
1
2列看一看这个链接https://stackoverflow.com/a/13004720/7764939
我只是在此粘贴其内容:
TextView(因此EditText)有一个方法setCustomSelectionActionModeCallback()
应该使用,而不是startActionMode()
。使用此功能可以自定义TextView用于文本选择的菜单。示例代码:
bodyView.setCustomSelectionActionModeCallback(new StyleCallback());
其中StyleCallback通过删除全部选择和添加一些造型动作customises文本选择菜单:
class StyleCallback implements ActionMode.Callback {
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
Log.d(TAG, "onCreateActionMode");
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.style, menu);
menu.removeItem(android.R.id.selectAll);
return true;
}
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
Log.d(TAG, String.format("onActionItemClicked item=%s/%d", item.toString(), item.getItemId()));
CharacterStyle cs;
int start = bodyView.getSelectionStart();
int end = bodyView.getSelectionEnd();
SpannableStringBuilder ssb = new SpannableStringBuilder(bodyView.getText());
switch(item.getItemId()) {
case R.id.bold:
cs = new StyleSpan(Typeface.BOLD);
ssb.setSpan(cs, start, end, 1);
bodyView.setText(ssb);
return true;
case R.id.italic:
cs = new StyleSpan(Typeface.ITALIC);
ssb.setSpan(cs, start, end, 1);
bodyView.setText(ssb);
return true;
case R.id.underline:
cs = new UnderlineSpan();
ssb.setSpan(cs, start, end, 1);
bodyView.setText(ssb);
return true;
}
return false;
}
public void onDestroyActionMode(ActionMode mode) {
}
}
的菜单添加的XML是:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/italic"
android:showAsAction="always"
android:icon="@drawable/italic"
android:title="Italic"/>
<item android:id="@+id/bold"
android:showAsAction="always"
android:icon="@drawable/bold"
android:title="Bold"/>
<item android:id="@+id/underline"
android:showAsAction="always"
android:icon="@drawable/underline"
android:title="Underline"/>
</menu>
+0
谢谢,但我想要2列图标 –
相关问题
- 1. Chromecast自定义选择器对话框
- 2. 自定义对话框中的Android textview选项
- 3. Android中的自定义对话框中的日期选择器
- 4. 使用时间选择器的自定义对话框
- 5. 自定义对话框中的多个时间选择器?
- 6. 在android中的自定义时间选择器对话框
- 7. 自定义webview的文字选择对话框
- 8. 如何自定义wxWidgets中的文件选择对话框?
- 9. javascript确认对话框中的自定义选择
- 10. 具有多种选择和自定义视图的对话框
- 11. Android的自定义对话框的TextView和背景颜色
- 12. 无法更新自定义对话框中的TextView文本
- 13. 滚动在自定义警报对话框中的TextView
- 14. 自定义“选择输入法”对话框
- 15. 在PropertyGrid中使用自定义颜色选择器对话框
- 16. 自定义应用选择器对话框
- 17. 自定义日期选择器对话框android
- 18. jQuery Mobile自定义选择恢复为对话框。
- 19. 自定义onbeforeunload对话框
- 20. iOS自定义对话框
- 21. android自定义对话框
- 22. Android自定义对话框
- 23. beforeunload自定义对话框
- 24. 自定义对话框XML
- 25. Android自定义对话框
- 26. 自定义对话框
- 27. 自定义对话框
- 28. Wix自定义对话框
- 29. 自定义对话框extjs
- 30. 自定义对话框Android
别这样做。有一个原因[这是关闭](http://stackoverflow.com/questions/43013878/custom-selection-dialog-for-textview)。至少在你方面表现出一些努力。 –