Android Dialog setCanceledOnTouchOutside失效,点击dialog外面不消失

前言:有一个需求需要点击dialog外面要消失,本来以为很简单结果设置了一直未生效

复制代码
setCanceledOnTouchOutside(true);

问了半天chat-gpt4结果给的答案都不明显

查看代码发现设置了style,于是尝试去除这个style,结果点击setCanceledOnTouchOutside(true);生效了

复制代码
    <style name="LionCommonDialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">false</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:background">@android:color/transparent</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:backgroundDimEnabled">true</item>
        <item name="android:backgroundDimAmount">0.5</item>
    </style>

经过排比法,发现是<item name="android:windowIsTranslucent">true</item>导致的

Chatgpt说他会影响触摸事件,终于真相大白了!!!!

相关推荐
安卓程序员_谢伟光9 小时前
m3颜色定义
android·compose
麻辣璐璐10 小时前
EditText属性运用之适配RTL语言和LTR语言的输入习惯
android·xml·java·开发语言·安卓
北京自在科技10 小时前
谷歌 Find Hub 网页端全面升级:电脑可直接管理追踪器与耳机
android·ios·安卓·findmy
Rush-Rabbit11 小时前
魅族21Pro刷ColorOS16.0操作步骤
android
爪洼传承人11 小时前
AI工具MCP的配置,慢sql优化
android·数据库·sql
学习使我健康11 小时前
MVP模式
android·github·软件工程
xiangxiongfly91511 小时前
Android MMKV
android·mmkv
北漂Zachary13 小时前
PHP3.0:改变Web开发的里程碑
android·php·laravel
fundroid13 小时前
Google 发布 Android Skill & Android CLI:大幅提升 Android Agent 能力
android·agent·cli·skill
seabirdssss13 小时前
Flutter 开发环境配置
android·windows·flutter·adb