【问题标题】:Android Transparent Activity doesn't cover the whole screenAndroid 透明 Activity 没有覆盖整个屏幕
【发布时间】:2019-09-02 08:55:15
【问题描述】:

我一直在尝试创建一个不透明的 Activity,它与背景中显示的另一个 Activity 重叠。

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

【问题讨论】:

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


    【解决方案1】:

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

    我将清单更改为:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 它没有用。我添加了第二个屏幕截图,应该让问题更清楚
      猜你喜欢
      • 2019-05-23
      • 2021-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-09
      • 1970-01-01
      • 2019-11-02
      • 1970-01-01
      相关资源
      最近更新 更多