Примечание
Если кто-то знает, как порядок (z-порядок) Windows добавлен через windowmanager, я также буду принимать ответ, потому что он ответит на все вопросы. На самом деле я только нахожу, чтобы сделать windowManager.removeView(MyView)
следующим образом windowManager.addView(MyView)
, чтобы поставить представление перед другим, но это не идеально, потому что он визуально удаляет и добавляет представление. это выглядит сумасшедшим, что их нет встроенной функции в android, чтобы сделать такое простое мышление.
Я создаю представление (linearlayout), которое содержит EditText. Я добавляю это представление в действие через WindowManager.addView(view, Layout_Params);
но у меня проблема с тем, что каждое всплывающее окно edittext будет генерироваться (например, меню "Копировать/Пропустить" или "Меню предложения слов" ) будет под другими представлениями даже при их собственном представлении EditText (а не на изображении, на котором у edittext есть прозрачный фон)/p >
i создаю представления (то есть: LinearLayout) с параметрами макета тезисов:
protected WindowManager.LayoutParams createLayoutParams() {
WindowManager.LayoutParams p = new WindowManager.LayoutParams();
p.gravity = Gravity.LEFT | Gravity.TOP;
p.width = 0;
p.height = 0;
p.format = PixelFormat.TRANSLUCENT;
p.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_STATE_UNCHANGED;
p.flags = NOT_FOCUSABLE_FLAGS;
// TYPE_APPLICATION allows for popups in browser windows (like edit menus)
p.type = WindowManager.LayoutParams.TYPE_APPLICATION;
p.token = null;
return p;
}
и я показываю представление (которое содержит только edittext) следующим образом:
private final WindowManager mWindowManager;
mWindowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
WindowManager.LayoutParams lp = createLayoutParams();
mWindowManager.addView(view, lp);
так, как сделать всплывающее окно, связанное с editText перед всем?
Этот вопрос также может помочь немного (о z-порядке окна): Как работает z-порядок просмотра (т.е. окно), добавленный через WindowManager?