Как добавить плиточный фон в DialogFragment? - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть DialogFragment, в котором я пытаюсь поместить пользовательский фон с мозаичным растровым изображением.

Я устанавливаю фон в стилях. xml с пользовательской темой диалога:

<item name="android:windowBackground">@drawable/dialog_background</item>

Это мой dialog_background. xml рисуется со списком слоев для мозаичного изображения. background:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape
        android:shape="rectangle">
        <gradient
            android:angle="90"
            android:endColor="@color/background"
            android:startColor="@color/background" />
        <corners android:radius="10dp" />
        <stroke
            android:width="2dp"
            android:color="@color/button_color" />
    </shape>
</item>
<item>
    <bitmap
        android:src="@drawable/full_bloom"
        android:tileMode="repeat"
        android:dither="true" />
</item>
<item>
    <shape>
        <corners android:radius="10dp" />
        <stroke
            android:width="2dp"
            android:color="@color/button_color" />
    </shape>
</item>
</layer-list>

Работает нормально, но есть проблема, мой диалог делает это, чтобы иметь высоту WRAP_CONTENT:

@Override
public void onResume() {
    super.onResume();
    int sw = Util.getInstance().getScreenWidth(getActivity());
    int sh = Util.getInstance().getScreenHeight(getActivity());
    getDialog().getWindow().setLayout((int) (sw * 0.55), ViewGroup.LayoutParams.WRAP_CONTENT);
}

Прекращает делать WRAP_CONTENT для высоты, если Я добавляю мозаичное растровое изображение к своему фону списка слоев в диалоге. Вместо этого он выдвигает высоту, чтобы соответствовать родителю.

Как это можно решить?

...