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说他会影响触摸事件,终于真相大白了!!!!

相关推荐
编程之路从0到140 分钟前
React Native新架构之Android端初始化源码分析
android·react native·源码阅读
行稳方能走远42 分钟前
Android java 学习笔记2
android·java
编程之路从0到11 小时前
React Native 之Android端 Bolts库
android·前端·react native
爬山算法1 小时前
Hibernate(38)如何在Hibernate中配置乐观锁?
android·java·hibernate
行稳方能走远2 小时前
Android java 学习笔记 1
android·java
zhimingwen2 小时前
【開發筆記】修復 macOS 上 JADX 啟動崩潰並實現快速啟動
android·macos·反編譯
longxibo2 小时前
mysql数据快速导入doris
android·大数据·python·mysql
十六年开源服务商2 小时前
WordPress网站模板设计完整指南
android
summerkissyou19873 小时前
Android13-Bluetooth-代码目录介绍
android·蓝牙