-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)。至少在你方面表現出一些努力。 –