Прозрачный DialogFragment поверх Activity

Я пробовал все решения здесь, и мне кажется, что ни одно из них не работает для меня. Следующий код отлично работал на Android Kitkat, но в Oreo 8.1 у него всегда есть этот уродливый черный блок под диалоговым фрагментом, независимо от того, какой стиль я пробую.

Прозрачный DialogFragment поверх Activity

Код для вызова диалогового окна:

FragmentManager pfm = getFragmentManager();
NewPointMapPopup pointSaveDialog = new NewPointMapPopup();
Bundle args = new Bundle();
args.putParcelable("newPoint", tapLoc);
args.putInt("screenX",Math.round(canvasX));
args.putInt("screenY",Math.round(canvasY));
args.putInt("screenHeight",canvasHeight);
pointSaveDialog.setArguments(args);
pointSaveDialog.show(pfm, "");

Код onCreateView:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.new_point_map_popup, container, false);
getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);

и макет:

<?xml version = "1.0" encoding = "utf-8"?>
<LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
    android:id = "@+id/popup_main_layout"
    android:orientation = "vertical"
    android:layout_width = "wrap_content"
    android:layout_height = "wrap_content"
    android:background = "@drawable/map_popup_bg"
    android:padding = "1dp">

    <LinearLayout
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content"
        android:orientation = "vertical">
        <LinearLayout
            android:layout_width = "wrap_content"
            android:layout_height = "wrap_content"
            android:layout_gravity = "center_horizontal"
            android:padding = "10dp"
            android:orientation = "vertical">
            <LinearLayout
                android:layout_width = "wrap_content"
                android:layout_height = "wrap_content"
                android:orientation = "horizontal">
                <LinearLayout
                    android:layout_width = "wrap_content"
                    android:layout_height = "wrap_content"
                    android:layout_marginRight = "10dp"
                    android:gravity = "right"
                    android:orientation = "vertical">
                    <TextView
                        android:layout_width = "wrap_content"
                        android:layout_height = "wrap_content"
                        android:textColor = "@color/foretrexBlue"
                        android:text = "Latitude:"/>
                    <TextView
                        android:layout_width = "wrap_content"
                        android:layout_height = "wrap_content"
                        android:textColor = "@color/foretrexBlue"
                        android:text = "Longitude:"/>
                    <TextView
                        android:layout_width = "wrap_content"
                        android:layout_height = "wrap_content"
                        android:textColor = "@color/foretrexBlue"
                        android:text = "Distance:"/>
                </LinearLayout>
                <LinearLayout
                    android:layout_width = "wrap_content"
                    android:layout_height = "wrap_content"
                    android:orientation = "vertical">
                    <TextView
                        android:id = "@+id/new_point_lat"
                        android:layout_width = "wrap_content"
                        android:layout_height = "wrap_content"
                        android:textColor = "@color/foretrexBlue"
                        android:text = "43.1231233"/>
                    <TextView
                        android:id = "@+id/new_point_lon"
                        android:layout_width = "wrap_content"
                        android:layout_height = "wrap_content"
                        android:textColor = "@color/foretrexBlue"
                        android:text = "25.55656666"/>
                    <TextView
                        android:id = "@+id/new_point_distance"
                        android:layout_width = "wrap_content"
                        android:layout_height = "wrap_content"
                        android:textColor = "@color/foretrexBlue"
                        android:text = "250 m"/>
                </LinearLayout>
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
    <LinearLayout
        android:layout_width = "match_parent"
        android:layout_height = "48dp"
        android:weightSum = "2"
        android:orientation = "horizontal">
        <Button
            style = "@style/MFButton"
            android:id = "@+id/new_point_close"
            android:layout_width = "0dp"
            android:layout_height = "wrap_content"
            android:visibility = "visible"
            android:layout_weight = "1"
            android:text = "Close"/>
        <Button
            style = "@style/MFButton"
            android:id = "@+id/new_point_save"
            android:layout_width = "0dp"
            android:layout_height = "wrap_content"
            android:layout_weight = "1"
            android:text = "Save"/>
    </LinearLayout>
</LinearLayout>
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
49
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Очевидно, это была ошибка Android Oreo 8.1. После обновления от 5.10.2018 проблема решена.

Другие вопросы по теме