Макет наложения, охватывающий только половину экрана (полная высота, но половина ширины)JAVA

Программисты JAVA общаются здесь
Гость
Макет наложения, охватывающий только половину экрана (полная высота, но половина ширины)

Сообщение Гость »

У меня есть простое приложение, которое использует службу переднего плана, которая рисует наложение зеленого изображения: Но, как упомянуто в заголовке, по какой-то причине я могу рисовать только половину экрана по ширине, тогда как я могу рисовать на экране полной высоты.
Вот реализация:

Код: Выделить всё

private WindowManager.LayoutParams getLayoutParams()
{
final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
getLayoutFlag(),
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);

//Specify the view position
params.gravity = Gravity.TOP | Gravity.START; //Initially view will be added to top-left corner
params.x = 0;
params.y = 100;
return params;
}

private int getLayoutFlag()
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
return WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
} else {
return WindowManager.LayoutParams.TYPE_PHONE;
}
}

public void create()
{
mOverlayView = LayoutInflater.from(context).inflate(R.layout.invisible_view_layout, null);

WindowManager.LayoutParams params = getLayoutParams();
mWindowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
mWindowManager.addView(mOverlayView, params);

Display display = mWindowManager.getDefaultDisplay();
final Point size = new Point();
display.getSize(size);
}
Пожалуйста, сообщите мне, если вам нужен скриншот.
Я действительно не понимаю, почему рисуется только половина ширины, поскольку и ширина, и высота установлено значение «wrap_content».

Подробнее здесь: https://stackoverflow.com/questions/784 ... half-width

Вернуться в «JAVA»