zoukankan      html  css  js  c++  java
  • 异常记录-Dialog样式踩坑

    好久没记录文档了,拖了老半个月,终于空下来时间,为了避免以后踩坑,必须记录记录。

    背景:

    为activity设置样式为弹窗activity

    异常一:

    activity设置style后,布局不能够正常显示,由于固定了activity的高度(例如500),当高度超出500后,布局展示异常,只展示底部布局。

    异常二:

    在有虚拟按键手机上弹出该对话框,对话框与布局会重叠在一起

    异常代码如下:

     <!-- ActionSheet 对话框样式-->
        <style name="YTDialogActivityStyle" parent="AppTheme">
            <item name="android:windowBackground">@android:color/transparent</item>
            <item name="android:windowContentOverlay">@null</item>
            <!-- 浮于Activity之上 -->
            <item name="android:windowIsFloating">true</item>
            <!-- 边框 -->
            <item name="android:windowFrame">@null</item>
            <item name="android:windowFullscreen">false</item>
            <item name="android:navigationBarColor">@color/transparent</item>
            <item name="android:statusBarColor">@color/transparent</item>
            <!-- Dialog以外的区域模糊效果 -->
            <item name="android:backgroundDimEnabled">true</item>
            <!-- 无标题 -->
            <item name="android:windowNoTitle">true</item>
            <!-- 半透明 -->
            <item name="android:windowIsTranslucent">true</item>
            <item name="android:layout_gravity">bottom</item>
            <item name="android:layout_width">match_parent</item>
            <!-- ActionSheet进入及退出动画 -->
            <item name="android:windowAnimationStyle">@style/YTDialogActivityAnimation</item>
        </style>

    原因分析:

    异常一:经排查发现,是"android:layout_gravity"属性设置导致,修改为top可解决该问题。

    异常二:"android:windowIsFloating"属性设置导致,修改为false可解决问题。

    修改后代码:

        <!-- ActionSheet 对话框样式-->
        <style name="YTDialogActivityStyle" parent="AppTheme">
            <item name="android:windowBackground">@android:color/transparent</item>
            <!-- 无标题 -->
            <item name="android:windowNoTitle">true</item>
            <!-- 半透明 -->
            <item name="android:windowIsTranslucent">true</item>
            <!-- ActionSheet进入及退出动画 -->
            <item name="android:windowAnimationStyle">@style/YTDialogActivityAnimation</item>
        </style>

    最好是需要什么设置什么,指不定多少坑。

     
  • 相关阅读:
    Oracle ——优化内存
    用 C# 实现 HTTP 协议多线程下载文件
    Oracle 为表某个字段进行字母数字组合编码
    Oracle 11g Release 1 (11.1)——自动存储管理(Automatic Storage Management,ASM)
    Oracle 11g Release 1 (11.1) Oracle Text 如何创建 CTXCAT 索引
    Oracle ——如何确定性能差的 SQL
    MySQL 5.5/5.6——概述 MySQL 客户端程序
    Oracle 数据库统计信息描述
    Oracle Database Instant Client
    HTTP 协议演示——HTTP 协议(45)
  • 原文地址:https://www.cnblogs.com/fangg/p/13608771.html
Copyright © 2011-2022 走看看