I m в delphi, и я использую фреймворк android для создания редактирования. Когда я задал тему Theme.DeviceDefault.Light.NoActionBar, тогда я могу выбрать текст в своем EditText, и у меня есть всплывающее окно с "select all/cut/copy/paste/etc", как вы можете см. на рисунке ниже.
Однако, когда я выбираю Theme.Material.Light.NoActionBar или Theme.Holo.Light.NoActionBar, тогда я не может выбрать любой текст в моем EditText (у меня нет правых или левых текстовых дескрипторов) и, конечно же, у меня нет всплывающего окна copy/paste
Есть ли у них какой-либо способ создать всплывающее окно copy/paste на Theme_Material_Light_NoActionBar?
Theme.DeviceDefault.Light.NoActionBar
Theme_Material_Light_NoActionBar
ПРИМЕЧАНИЕ 1:
Когда я перемещаю экран на горизонтальный, тогда edittext возьмет все свободное пространство, а затем я смогу увидеть мои правые и левые клавиши выделения текста, как на картинке ниже, но я думаю, что это связано с тем, что тема сводится к Theme.DeviceDefault.Light.NoActionBar, когда я перемещаю экран в горизонтальное положение, но не уверен:
ПРИМЕЧАНИЕ 2:
В моем editText, когда я делаю setCustomSelectionActionModeCallback (новый Callback() {}), тогда Callback никогда не вызывается:( Это не нормально, я думаю? Что в редактореText может запретить обратный вызов?
ПРИМЕЧАНИЕ 2:
Я могу выбрать текст во всех темах (но я не могу его скопировать), но за исключением Theme.DeviceDefault.Light.NoActionBar, я не вижу дескриптор выбора правого и левого текста.
ПРИМЕЧАНИЕ 3:
Theme.DeviceDefault.Light.NoActionBar показывает дескриптор выбора правого и левого текста только на некоторых телефонах, таких как галактика samsung. По какой-то другой причине это не сработало.
ПРИМЕЧАНИЕ 4:
я нашел частично источник проблемы! потому что я создаю свое представление через WindowManager.addView(view, layout_params), и таким образом startactionmodeforChild возвращает null, и это запрещает отображение панели действий и дескрипторов выбора текста. Теперь, если я сделаю что-то подобное в своем edittext:
@Override
public ActionMode startActionMode(ActionMode.Callback callback) {
Activity host = (Activity) this.getContext();
return host.getWindow().getDecorView().startActionMode(callback);
}
тогда я могу видеть правые и левые текстовые манипуляторы (но не на зефир, он работает только на леденец, я не знаю почему). Моя проблема в том, что панель действий показана, но она показала пусто: (ничто не выводит внутрь (но я вижу, что элемент управления cut/copy/past находится внутри иерархии представлений дампа). Так что теперь я не ищу способ вместо этой панели действий вместо этого появляется всплывающее меню (например, на картинке Theme.DeviceDefault.Light.NoActionBar). Любая идея?