Android 对话框【Dialog】去除白色边框代码

简介:

使用样式文件,在values 目录下新建styles.xml文件,编写如下代码:

 

< resources >
    
< style  name ="dialog"  parent ="@android:style/Theme.Dialog" >
         
< item  name ="android:windowFrame" > @null </ item >
        
< item  name ="android:windowIsFloating" > true </ item >
        
< item  name ="android:windowIsTranslucent" > false </ item >
        
< item  name ="android:windowNoTitle" > true </ item >
        
< item  name ="android:background" > @android:color/black </ item >
        
< item  name ="android:windowBackground" > @null </ item >
        
< item  name ="android:backgroundDimEnabled" > false </ item >
    
</ style >
</ resources >

 

 

调用时,使用AlerDialog的接口类,Dialog 接口编写如下代码:

 

    Dialog dialog  =   new  Dialog(SetActivity. this , R.style.dialog);
                    dialog.setContentView(R.layout.test);
                    dialog.show();

 

下面我们查看一下Dialog的源码文件,里面的构造函数为如下:

 

public  Dialog(Context context,  int  theme) {
        mContext 
=   new  ContextThemeWrapper(
            context, theme 
==   0   ?  com.android. internal .R.style.Theme_Dialog : theme);
        mWindowManager 
=  (WindowManager)context.getSystemService( " window " );
        Window w 
=  PolicyManager.makeNewWindow(mContext);
        mWindow 
=  w;
        w.setCallback(
this );
        w.setWindowManager(mWindowManager, 
null ,  null );
        w.setGravity(Gravity.CENTER);
        mUiThread 
=  Thread.currentThread();
        mDismissCancelHandler 
=   new  DismissCancelHandler( this );
    }

 

这里面我们可以看出,Android 使用了默认的构造函数为Dialog 设置样式,如果没有为其设置样式,即默认加载事先编写好的样式文件,Dialog 一共由多个9.png的图片构成,大部分都是带有边框的9.png图片,所以就是为什么我们上边的样式文件要将其背景去除掉。这个东西搞了我好久,希望对你有帮助

 

 

前后效果对比

未设置前:

 

设置后:

 


 本文转自 terry_龙 51CTO博客,原文链接:http://blog.51cto.com/terryblog/388582,如需转载请自行联系原作者



相关文章
|
7月前
|
机器学习/深度学习 算法 网络协议
AI算力狂飙背后的秘密:当“稳重老哥”Gloo遇上“极速引擎”NCCL
本文深度解析AI大模型训练中两大核心通信后端——Gloo与NCCL:前者是跨平台、高兼容的“稳健使者”,适配CPU及普通网络;后者是NVIDIA定制的“性能怪兽”,依托NVLink/RDMA实现GPU间纳秒级同步。文章以AllReduce等通信原语为切入点,对比其架构差异、适用场景与底层原理,并揭示分布式训练中通信瓶颈、拓扑感知、计算-通信重叠等关键工程实践,助开发者穿透框架表层,直抵算力调度本质。(239字)
811 6
|
5月前
|
消息中间件 缓存 小程序
扫码点餐小程序搭建流程详解:从桌码到订单系统如何实现
本文详解扫码点餐小程序搭建全流程:涵盖桌码生成、动态菜单、购物车逻辑、订单与库存管理、微信支付接入、后厨打印及高并发优化(Redis缓存、消息队列、Nginx负载均衡),助力餐饮业降本增效、实现数字化升级。(239字)
|
7月前
|
人工智能 文字识别 测试技术
AutoGod:一款拥有AI视觉的安卓自动化框架
AutoGod是一款面向安卓的AI视觉自动化框架,融合多引擎OCR、YOLO目标检测与VMP混淆引擎,解决传统方案元素定位脆弱、兼容性差、安全性低等痛点,支持自动化测试、游戏脚本与企业RPA,兼顾智能性、鲁棒性与安全性。
1047 11
|
8月前
|
人工智能 数据安全/隐私保护 开发者
大咖空降:宝玉的 Agent Skills 实战进化论
大模型很聪明,但为何AI仍难用?宝玉开源项目“baoyu-skills”两周获3.1K+ Star,揭秘Agent技能实战进化:从痛点触发、暴力迭代到业务闭环提效。D2大会现场深度拆解AI时代生存逻辑。
|
9月前
|
IDE 安全 开发工具
告别频繁切换分支!用 Git Worktrees + Claude Code 构建高效并行开发流
本文介绍 Git Worktrees 与 Claude Code 的高效组合:用 Worktrees 创建多分支独立工作区,零拷贝、秒级切换;Claude 则在隔离环境中安全试错、并行开发。告别 stash 焦虑,实现真正并行开发流。(239字)
4438 1
|
人工智能 算法 测试技术
轻量高效,8B 性能强劲书生科学多模态模型Intern-S1-mini开源
继 7 月 26 日开源『书生』科学多模态大模型 Intern-S1 之后,上海人工智能实验室(上海AI实验室)在8月23日推出了轻量化版本 Intern-S1-mini。
1752 49
|
Shell 网络安全 开发工具
【已解决】SSL certificate problem: self signed certificate
SSL certificate problem: self signed certificate
3712 2
|
Linux iOS开发 MacOS
【已解决】ModuleNotFoundError: No module named ‘IPython‘
【已解决】ModuleNotFoundError: No module named ‘IPython‘
|
程序员 Android开发
Android开发:Android Studio同时打开多个项目的正确打开姿势
刚接触Android开发的初级程序猿比较实用,比如在开发过程中,已经通过Android Studio打开了一个项目工程之后,还想重新再打开一个另外的项目工程,这种解决方法,一般资深的Android开发工程师不屑于看,但是对于不知道的小白程序猿来说却是很实用,而且网上也没有太多的基础知识点的介绍,所以还是那句话,只分享给有需要的人,只要能帮到一个人,这篇博文就有存在的意义。
4479 0
Android开发:Android Studio同时打开多个项目的正确打开姿势
|
IDE iOS开发 Python
小白如何开始使用通义灵码(含安装IDE、安装灵码插件)
PyCharm 和 IntelliJ IDEA 下载安装及通义灵码插件下载安装说明
17054 10

热门文章

最新文章