androidx.appcompat.app.AlertDialog всегда меняется с макета активности на белый фон - PullRequest
0 голосов
/ 24 февраля 2020

Мой alerttdialog всегда меняет макет активности на белую страницу. Диалог появляется при использовании камеры. Попробовал изменить фон на прозрачный без удачи. Любые идеи? Прикрепленный скриншот из эмулятора. Хотите, чтобы модуль alertdialog появлялся во время использования камеры, не имея белого фона, покрывающего весь экран.

Код:

  AlertDialog alertDialog = new AlertDialog.Builder(this)
                //set icon
                .setIcon(android.R.drawable.ic_dialog_alert)
                //set title
                .setTitle("Kan ikke finne produktet i databasen")
                //set message
                .setMessage("Vil du søke manuelt?")
                // Background
                //set positive button
                .setPositiveButton("Ja", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Intent intent = new Intent(ScanActivity.this, ManualActivity.class);
                        startActivity(intent);
                    }
                })
                //set negative button
                .setNegativeButton("Nei", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Intent intent = new Intent(ScanActivity.this, ScanActivity.class);
                        startActivity(intent);                        }
                })

                .show();

XML

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
       xmlns:app="http://schemas.android.com/apk/res-auto">

    <com.journeyapps.barcodescanner.BarcodeView
        android:id="@+id/zxing_barcode_surface"
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        app:zxing_framing_rect_width="225dp"
        app:zxing_framing_rect_height="275dp"
        />

    <com.journeyapps.barcodescanner.ViewfinderView
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:id="@+id/zxing_viewfinder_view"
        app:zxing_possible_result_points="#FFC300"
        app:zxing_viewfinder_laser="#EA1818"
        app:zxing_result_view="#2DA818"
        app:zxing_viewfinder_mask="@color/zxing_custom_viewfinder_mask"
        />

    <TextView
        android:id="@+id/zxing_status_view"
        android:layout_width="wrap_content"
        android:layout_height="25dp"
        android:layout_gravity="bottom|center_horizontal"
        android:background="@color/zxing_transparent"
        android:text="@string/barcode_help"
        android:textColor="@color/zxing_status_text"
        />

</merge>

Скриншот из эмулятора

Ответы [ 2 ]

0 голосов
/ 25 февраля 2020

Попробуйте это может помочь вам

alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
0 голосов
/ 25 февраля 2020

Вы забыли добавить инструкцию setView в диалоговое окно оповещения.

.setView(R.layout.dialog_layout)

Предполагая, что xml имя файла dialog_layout, в противном случае измените его на правильное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...