【记录文】Android自定义Dialog实现圆角对话框

news2024/11/19 23:36:29

 圆角的dialog还是蛮常用的,demo中正好用上了

自定义Dialog,代码中可以设置指定大小与位置

/**
 *  author : jiangxue
 *  date : 2023/9/25 13:21
 *  description :圆角的矩形
 */

internal class RoundCornerView(context: Context,view: Int, @StyleRes themeResId: Int) :
    Dialog(context, themeResId) {
    private val contentView: View

    init {
        // 自已定义Dialog的布局
        contentView = LayoutInflater.from(context).inflate(view, null)
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(contentView)
        val params = window!!.attributes
        params.gravity = Gravity.CENTER
        window!!.attributes = params
    }

    //提供外部获取View的方法
    fun getContentView(): View {
        return contentView
    }
}

设置style

设置dialog弹出后背景置暗,但是数值可以自行更改

<item name="android:backgroundDimEnabled">true</item><!-- 设置dialog背景变暗 -->
        <item name="android:backgroundDimAmount">0.6</item>

但是出现个小问题

圆角边都是黑色的,找了一下原因:我使用的theme中背景设置的颜色是黑的,设置为透明的就可以了

<item name="windowBackground">@drawable/panel_background</item>
 <style name="AlertDialogTheme" parent="@android:style/Theme.Dialog">
       <!-- <item name="buttonBarPositiveButtonStyle">@style/Alert.Button.Positive</item>
        <item name="buttonBarNegativeButtonStyle">@style/Alert.Button.Negative</item>-->
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@color/transparent</item>
        <item name="android:backgroundDimEnabled">true</item><!-- 设置dialog背景变暗 -->
        <item name="android:backgroundDimAmount">0.6</item>
    </style>

看看效果:还不错,记录一下 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1039287.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能网联驾驶测试与评价工业和信息化部重点实验室“车载智能计算基础平台参考架构2.0专家研讨会”圆满结束

近日&#xff0c;智能网联驾驶测试与评价工业和信息化部重点实验室在北京市召开“车载智能计算基础平台参考架构2.0专家研讨会”&#xff0c;本次会议由智能网联驾驶测试与评价工业和信息化部重点实验室、中国软件评测中心&#xff08;工业和信息化部软件与集成电路促进中心&am…

美颜SDK哪家好?2023美颜SDK有哪些新玩法?

在当今的数字世界中&#xff0c;美颜SDK正成为一种强大的工具&#xff0c;可以帮助我们在视频直播和短视频中展现出最美的自己。美摄科技作为一家专注于美颜SDK技术的公司&#xff0c;提供了多种领先的美颜SDK相关产品&#xff0c;以满足不同用户的需求。 美摄科技的美颜SDK是一…

第一章 计算机网络与协议

文章目录 一、计算机网络的基础概念二、计算机网络分类2.1 通信子网/资源子网/网络协议2.2 网络拓补图分类2.3 按照覆盖范围分类2.4 按照交换技术分类2.5 其他分类 三、OSI参考模型3.1 应用层3.2 表示层3.3 会话层3.4 传输层3.5 网络层3.6 数据链路层3.7 物理层3.8 借助OSI模型…

众佰诚:现在开一家抖音小店还来得及吗

随着互联网的迅猛发展&#xff0c;电商行业也进入了一个全新的时代&#xff0c;其中抖音小店作为新兴的销售平台备受瞩目。然而&#xff0c;对于那些考虑开设抖音小店的人来说&#xff0c;一个重要的问题是&#xff1a;现在开一家抖音小店还来得及吗? 答案是肯定的&#xff0c…

Vulnhub-DC-8 靶机复现完整过程

Vulnhub-DC-8 靶机复现完整过程 一、环境搭建 kali的IP地址&#xff1a;192.168.200.14 DC-8的IP地址&#xff1a;192.168.200.13&#xff08;一个flag&#xff09; 靶机和攻击机处于同一个网络方式&#xff1a;nat或桥接 若出现开机错误&#xff0c;适当将dc的兼容版本改低…

纷享销客荣获“最佳用户支持与服务奖”

近日&#xff0c;e签宝第二届用户生态峰会在上海如约而至。纷享销客作为e签宝生态合作伙伴&#xff0c;荣获“最佳用户支持与服务奖”。 数字化时代&#xff0c;孤岛式、断裂式、封闭式的数字化&#xff0c;不仅无法为客户带来价值&#xff0c;对提供数字化服务的双方而言&…

latex subsection 第一段 首行取消缩进

需求&#xff1a;在\subsection 标题下的第一段&#xff0c;取消首行缩进。 &#xff08;此时直接使用 \noindent 命令&#xff0c;失效&#xff09; 环境&#xff1a;IEEE 模板 解决方案&#xff1a; 增加一个空行&#xff0c;使有效内容行变为第二行&#xff0c;然后对其…

SQLAlchemy常用数据类型

目录 SQLAlchemy常用数据类型 代码演示 代码分析 SQLAlchemy常用数据类型 SQLAlchemy 是一个Python的SQL工具库和对象关系映射(ORM)工具&#xff0c;它提供了一种在Python中操作数据库的高效方式。下面是SQLAlchemy中常用的一些数据类型&#xff1a; Integer&#xff1a;整形&…

体验亚马逊的 CodeWhisperer 感觉

CodeWhisperer 是亚马逊推出的辅助编程工具&#xff0c;在程序员写代码时&#xff0c;它能根据其内容生成多种代码建议。 CodeWhisperer 目前已支持近10几种语言&#xff0c;我是用 java 语言&#xff0c;用的开发工具是 idea&#xff0c;说一下我用的情况。 亚马逊云科技开发…

四川玖璨电子商务有限公司正规吗?

​近年来&#xff0c;随着社交平台的兴起&#xff0c;带货已经成为了一种新型商业模式。抖音作为中国最大的短视频平台之一&#xff0c;也成为了众多商家进行带货销售的重要渠道。而在这个过程中&#xff0c;公司如四川玖璨电子商务有限公司也逐渐涌现出来&#xff0c;为广大用…

什么是 Redis?

Redis 是一种基于内存的数据库&#xff0c;对数据的读写操作都是在内存中完成的&#xff0c;因此读写速度非常快&#xff0c;常用于缓存&#xff0c;消息队列&#xff0c;分布式锁等场景。 Redis 提供了多种数据类型来支持不同的业务场景&#xff0c;比如 String(字符串)、Has…

Spring源码解析—— IOC默认标签解析(下)

正文 在上一篇我们已经完成了从xml配置文件到BeanDefinition的转换&#xff0c;转换后的实例是GenericBeanDefinition的实例。本文主要来看看标签解析剩余部分及BeanDefinition的注册。 默认标签中的自定义标签解析 在上篇博文中我们已经分析了对于默认标签的解析&#xff0…

vue 组件通信

vue 组件通信 mytitile 是变量 title 是形参 回调函数

RocketMQ 线上问题处理

一、发送超时后&#xff0c;重试发送 1.1、问题 生产者发送超时&#xff0c;进行重试发送。 1.2、解决 消费端做幂等处理。

在使用SpringBoot时遇到的异常总结(持续更新...)

文章目录 异常MyBatisjava.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint failsMybatis-Plus查询语句无故自动加条件Mybatis No enum constant org.apache.ibatis.type.JdbcType.TEXT 参考文献 因为平时在写Spri…

pandas使用---Series/DataFrame

借鉴 Pandas 常用函数 | 菜鸟教程Pandas 常用函数 以下列出了 Pandas 常用的一些函数及使用实例&#xff1a; 读取数据 函数说明 pd.read_csv(filename)读取 CSV 文件&#xff1b; pd.read_excel(filename)读取 Excel 文件&#xff1b; pd.read_sql(query, connection_object)…

ElasticSearch从入门到精通(二)

ElasticSearch 高级操作 bulk批量操作 批量操作-脚本 #批量操作 #1.删除5号 #新增8号 #更新2号 name为2号 POST _bulk {"delete":{"_index":"person1","_id":"5"}} {"create":{"_index":"person…

jvm深入研究文档--程序执行专业户-虚拟机栈--jvm底层探索(2)

阿丹&#xff1a; JVM的内存分区包括以下几个部分&#xff1a; 堆区&#xff08;Heap&#xff09; - 这是JVM的主要部分&#xff0c;用于存储实例对象和大多数Java对象&#xff0c;如数组和用户定义的类。 方法区&#xff08;Method Area&#xff09; - 这是线程私有的&#x…

前端项目练习(练习-004-webpack-02)

学习前&#xff0c;首先&#xff0c;创建一个web-004项目&#xff0c;内容和web-003一样。&#xff08;注意将package.json中的name改为web-004&#xff09; 前面的例子&#xff0c;成功将js文件打包到了dist中&#xff0c;但是我们有三个文件&#xff0c;css&#xff0c;js和h…

微信公众号开发(BUG集)

1.微信公众平台接口错误:不合法的自定义菜单使用用户 地址&#xff1a;解决地址 2.微信公众平台接口错误:invalid ip 180.101.72.196 ipv6 ::ffff:180.101.72.196, not in whitelist rid: 6511420b-60c59249-01084d02 白名单离开放服务器IP