Я добавляю EditText в свою игру на основе Android cocos2d-x.Android EditText нажата панель действий
Панель действия «Вырезать копию вставки» отбрасывает мою EditBox.
И то, что я хочу, как это:
Вот установочный код, я мой поле редактирования позиции:
public void setEditBoxViewRect(int left, int top, int maxWidth, int maxHeight) {
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT,
FrameLayout.LayoutParams.WRAP_CONTENT);
layoutParams.leftMargin = left;
layoutParams.topMargin = top;
layoutParams.width = maxWidth;
layoutParams.height = maxHeight;
layoutParams.gravity = Gravity.TOP | Gravity.LEFT;
this.setLayoutParams(layoutParams);
}
Я думаю, что проблема в том, что Я настроил свой макет EditText. И когда панель действий показывает, я не отвечал на связанное событие, чтобы скорректировать позицию EditText.
Могу ли я слушать событие, которое отображается в строке меню, и получить правильную высоту для настройки моего EditText?
Я попробовал этот код, но он просто отключить панель действий:
edittext.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
public void onDestroyActionMode(ActionMode mode) {
}
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
return false;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
});