Как сделать так, чтобы диалоги оставались активными, а фон был активным? (например, PopUp Activity) - PullRequest
0 голосов
/ 22 января 2020

Итак, в моем приложении есть одно действие, которое создается в виде диалога, размер не полноэкранный, а фон прозрачный, поэтому я вижу системный интерфейс!

Но я не могу взаимодействовать с системой Пользовательский интерфейс за диалогом.

Я установил "this.setFinishOnTouchOutside (false);" поэтому диалог не исчезает, но я не знаю, как сделать фон кликабельным?

Я пробовал несколько флагов в setFlags, но eiter не кликабелен или закрывается автоматически?

Это мой способ создания всплывающей активности

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        context = this;
        this.setFinishOnTouchOutside(false);
        wma = (WindowManager) getSystemService(WINDOW_SERVICE);


        Window window = getWindow();
        window.setFlags(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG,
                WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH);
        window.setLayout(WindowManager.LayoutParams.WRAP_CONTENT,     WindowManager.LayoutParams.WRAP_CONTENT);

    }

Стиль:

<style name="AppTheme" parent="android:style/Theme.Holo.Light.Dialog.NoActionBar">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">false</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
        <item name="android:windowSoftInputMode">stateAlwaysHidden</item>
        <item name="android:windowActionModeOverlay">true</item>
        <item name="android:colorBackgroundCacheHint">@null</item>
        <item name="android:windowCloseOnTouchOutside">true</item>
        <item name="android:windowIsTranslucent">true</item>
    </style>

Я пробовал эти 3 Разрешения:

    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="android.permission.ACTION_MANAGE_OVERLAY_PERMISSION"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...