Прозрачная активность Android не охватывает весь экран

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

Это мой файл макета XML:

<?xml version = "1.0" encoding = "utf-8"?>
<RelativeLayout
        xmlns:android = "http://schemas.android.com/apk/res/android"
        xmlns:tools = "http://schemas.android.com/tools"
        xmlns:app = "http://schemas.android.com/apk/res-auto"
        android:layout_width = "match_parent"
        android:layout_height = "match_parent"
        tools:context = ".EmergencyActivity">
<androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width = "match_parent"
            android:layout_height = "match_parent" android:background = "@color/opaque_back">

        <Button
                android:text = "Button"
                android:layout_width = "wrap_content"
                android:layout_height = "wrap_content" android:id = "@+id/button"
                app:layout_constraintEnd_toEndOf = "parent" app:layout_constraintTop_toTopOf = "parent"
                app:layout_constraintStart_toStartOf = "parent" app:layout_constraintBottom_toBottomOf = "parent"
        />
    </androidx.constraintlayout.widget.ConstraintLayout>
</RelativeLayout>

Файл манифеста:

      <activity
            android:name = ".EmergencyActivity"
            android:theme = "@style/Theme.Transparent">

Стиль:

<style name = "Theme.Transparent" parent = "AppTheme">
    <item name = "android:windowIsTranslucent">true</item>
    <item name = "android:windowBackground">@android:color/transparent</item>
    <item name = "android:windowContentOverlay">@null</item>
    <item name = "android:windowNoTitle">true</item>
    <item name = "android:windowIsFloating">true</item>
    <item name = "android:backgroundDimEnabled">false</item>
</style>

Изображения экранов:

https://imgur.com/cqfBlNM - первый экран активности

https://imgur.com/NUjTAdj - экран активности, который отображается не полностью

0
0
844
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ваш вопрос недостаточно ясен, но если вы хотите, чтобы активность отображалась в полноэкранном режиме, попробуйте это внутри класса активности:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

Это не сработало. Я добавил второй скриншот, который должен прояснить проблему.

Gal 11.04.2019 19:59
Ответ принят как подходящий

Я решил это, изменив appCompactActivity на Activity, чтобы использовать другой стиль, который не поддерживается AppCompactActivity.

Я изменил манифест на:

<activity
        android:name = ".EmergencyActivity"
        android:launchMode = "singleInstance"
        android:theme = "@android:style/Theme.Translucent.NoTitleBar.Fullscreen">

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