Android透明活动无法覆盖整个屏幕

时间:2019-04-11 16:30:43

标签: android xml android-activity android-manifest android-styles

我一直在尝试创建一个不透明的活动,该活动与在后台显示的另一个活动重叠。

这是我的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-未完全显示的活动屏幕

2 个答案:

答案 0 :(得分:0)

您的问题还不够清楚,但是如果您想使活动全屏显示,请在活动类中尝试以下操作:

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

答案 1 :(得分:0)

我通过将appCompactActivity更改为Activity来解决该问题,以便使用AppCompactActivity不支持的另一种样式。

我将清单更改为:

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