Я не знаю, как взять контроль над контекстной панелью выбора. Но вы можете помешать ему показать и заменить его своей собственной версией. Во-первых, создать класс, который расширяет HighlightWebView WebView, и включают в себя это переопределение:
@Override
public android.view.ActionMode startActionMode(android.view.ActionMode.Callback callback) {
// this will start a new, custom Contextual Action Mode, in which you can control
// the menu options available.
highlightActivity.startActionMode(highlighActionModeCallback);
// this is to prevent the native text selection ActionMode
return null;
}
Вам нужно создать класс HighlightActionModeCallback, а также. Вот очень простой вариант класса, который реализует ActionMode.Callback:
public class HighlightActionModeCallBack implements ActionMode.Callback {
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
mode.getMenuInflater().inflate(R.menu.highlight_menu, menu);
return true;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
// TODO Auto-generated method stub
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
return false;
}
}
Вы также хотите, чтобы Google «режим контекстных действий» и/или «контекстную панель действий» для получения дополнительной информации.
Как вы выделяете несколько абзацев? В моем случае, когда я выделяю текст внутри одного и того же абзаца, отлично работает, но когда я пытаюсь выделить текст из разных абзацев, подсветка не работает должным образом. Он увеличивает размер абзаца, добавляя промежуток между выбранным текстом. – Shrikant