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>

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

     
  • 相关阅读:
    js 中 undefined 和null 的区别
    【Gym103107E/黑龙江省赛16thE】Elastic Search(Trie树性质+ac自动机性质)
    不等概率抽卡的毕业期望次数
    博客园无法用IE进行登录
    Web项目开发小结
    各位看官,自己觉着喜欢的存到手机里面
    MVC控制器执行重定向
    吐了个槽o.o
    浏览器设置不缓存的方法
    关于A+B
  • 原文地址:https://www.cnblogs.com/fangg/p/13608771.html
Copyright © 2011-2022 走看看