android - 如何创建没有 windowIsFloating 的透明 Activity

标签 android android-layout

windowIsFloating 虽然创建 Dialog 样式 UI 的一站式商店有很多 ---错误---怪癖。

我现在要解决的问题是将顶部祖先的宽度/高度分配为 "wrap_content"而不是屏幕的宽度/高度。这意味着通常使用 "match_parents" 的 UI 设计将向上传播成为 "wrap_content"。糟糕的时期。

所以,我真正想要的是创建一个 Activity ,并拥有这样的布局:

<LinearLayout   android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:orientation="vertical"
                android:id="@+id/containerPageConatiner"
                android:background="@drawable/windowBackground">
    <View           android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="1"/>
    <FrameLayout    android:id="@+id/singlePane"
                    android:layout_height="wrap_content"
                    android:layout_width="match_parent"
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:padding="10dp"/>    
    <View           android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="1"/>                         
</LinearLayout> 

这会在调用它的 Activity 上生成一个显示单个窗口 (@id/singlePane) 的 UI。

是否有人拥有恰到好处的样式集来创建透明背景 Activity ?

最佳答案

感谢@PolamReddy 插入我找到我想要的答案:

主题 Theme.Translucent.NoTitleBar.Fullscreen 及其祖先包含创建半透明窗口所需的所有属性。为了得到除了 windowIsFloating 之外的所有内容,我遍历了祖先堆栈并提取了整个属性集:

<style name="Theme.CustomTheme.TransparentActivity">
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:colorBackgroundCacheHint">@null</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowAnimationStyle">@android:style/Animation</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowFullscreen">true</item>
</style> 

此样式必须分配给 AndroidManifest.xml 中的 Activity 而不是布局的 Root View 。

关于android - 如何创建没有 windowIsFloating 的透明 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7888263/

相关文章:

Android Studio 将测试文件夹或模块添加到现有项目

android - 相机 API - 图像太小

java - 从 indexof(word) 到下一行的子字符串

Android - 单选组按钮文本位置

java - 逻辑 fragment 与实际 fragment

android - 当向其中添加项目时,另一个 ListView 中的 ListView 不会扩展

android - 自定义可更新ListView - Android 开发

android - Android TranslateAnimation 的问题

android - Android 的 <merge> 标签在 XML 布局中的用途是什么?

android - 为什么我不能在 Android 中使用 @Override onDraw