У меня есть EditText, и когда я выполняю длинный щелчок, выбирается нажимаемое слово, и происходят две другие вещи.
Во-первых, в верхней части приложения появляется контекстная панель действий со значками для копирования, вырезания, вставки, замены, выбора всего.
Во-вторых, вокруг слова появляется другое контекстное меню, похожее на всплывающие подсказки, с такими элементами, как «вставить» и «заменить». Я не уверен, что эти пузыри относятся к конкретному устройству (например, Samsung/Nexus7).
Эти пузыри делают то же самое, что и панель действий, и действительно загромождают экран с открытой программной клавиатурой .... Можно ли как-нибудь отключить пузыри, оставив панель действий вверху?
Я заметил, что «супер» функция в PerformLongClick является родительской функцией для обоих этих вызовов. Если вы заблокируете его, ничего не произойдет. Но я еще не нашел никаких переопределений, которые позволили бы мне выбрать одно, а не другое.
edit: оба контекстных меню также появятся, если вы выполните двойное нажатие.
public class MyExtendedEditText extends EditText {
....
@Override
public boolean performLongClick() {
//Super function selects word (otherwise a=b), and calls action bar,
//and text selection bubbles
boolean retval =super.performLongClick();
int a = getSelectionStart();
int b = getSelectionEnd();
Log.i("System.out", "long click " + a + " " + b);
return retval;
}