Android CustomDialog圆角背景不生效的问题
一行解决:
window?.setBackgroundDrawableResource(android.R.color.transparent)
原文件:
/*** Created by Xinghai.Zhao* 自定义选择弹框*/
@SuppressLint("InflateParams", "MissingInflatedId")
class CustomDialog(context: Context?) : AlertDialog(context){var mCallBack: ClickCallBack? = nullvar mTextViewTitle: TextView? = nullvar mTextViewContent: TextView? = nullvar mEditText:EditText? = nullvar mEditTextMax:TextView? = nullvar mEditLayout: View? = nullvar mTextViewYes: TextView? = nullvar mTextViewNo: TextView? = nullvar mLine: View? = nullvar isEdit:Boolean = falseconstructor(context: Context?, title: String?, content: String?, callBack: ClickCallBack, isEditType:Boolean) : this(context) {mCallBack = callBackisEdit = isEditTypemTextViewTitle?.text = title?:""mTextViewContent?.text = content?:""if (isEdit){mEditLayout?.visibility = View.VISIBLE}else{mEditLayout?.visibility = View.GONE}}init {val inflate = LayoutInflater.from(context).inflate(R.layout.dialog_custom, null)setView(inflate)window?.setBackgroundDrawableResource(android.R.color.transparent)//设置点击别的区域不关闭页面setCancelable(false)mTextViewTitle = inflate.findViewById(R.id.dialog_custom_title)mTextViewContent = inflate.findViewById(R.id.dialog_custom_content)mEditText = inflate.findViewById(R.id.dialog_custom_edit)mEditTextMax = inflate.findViewById(R.id.dialog_custom_edit_max)mEditLayout = inflate.findViewById(R.id.dialog_custom_edit_layout)mTextViewYes = inflate.findViewById(R.id.dialog_custom_yes)mTextViewYes?.setOnClickListener{mCallBack?.onYesClick(this)}mTextViewNo = inflate.findViewById(R.id.dialog_custom_no)mTextViewNo?.setOnClickListener{dismiss()}mLine = inflate.findViewById(R.id.dialog_custom_line)}interface ClickCallBack {fun onYesClick(dialog: CustomDialog)}
}
layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@drawable/bg_set"android:orientation="vertical"><TextViewandroid:id="@+id/dialog_custom_title"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:padding="20dp"android:textColor="@color/black"android:textSize="18sp"android:textStyle="bold" /><TextViewandroid:id="@+id/dialog_custom_content"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:padding="30dp"android:textColor="@color/black"android:textSize="14sp" /><LinearLayoutandroid:id="@+id/dialog_custom_edit_layout"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:paddingBottom="20dp"android:visibility="gone"><EditTextandroid:id="@+id/dialog_custom_edit"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_marginStart="10dp"android:layout_weight="1"android:maxLength="10"android:maxLines="1"android:padding="10dp"android:textColor="@color/black"android:textSize="14sp" /><TextViewandroid:id="@+id/dialog_custom_edit_max"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginEnd="10dp"android:padding="10dp"android:textColor="@color/grey"android:textSize="12sp" /></LinearLayout><TextViewandroid:layout_width="match_parent"android:layout_height="1dp"android:background="@color/grey2" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/dialog_custom_no"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:gravity="center"android:padding="10dp"android:text="取消"android:textColor="@color/black"android:textSize="16sp" /><TextViewandroid:id="@+id/dialog_custom_line"android:layout_width="1dp"android:layout_height="match_parent"android:background="@color/grey2" /><TextViewandroid:id="@+id/dialog_custom_yes"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:gravity="center"android:padding="10dp"android:text="确定"android:textColor="@color/blue"android:textSize="16sp" /></LinearLayout>
</LinearLayout>
bg_set.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><corners android:radius="14dp" /> <!-- 圆角半径为10dp --><solid android:color="@color/white" /> <!-- 设置黑色背景并且70%不透明度 -->
</shape>
相关文章:
Android CustomDialog圆角背景不生效的问题
一行解决: window?.setBackgroundDrawableResource(android.R.color.transparent) 原文件: /*** Created by Xinghai.Zhao* 自定义选择弹框*/ SuppressLint("InflateParams", "MissingInflatedId") class CustomDialog(context: Context?) : AlertDia…...

C++速通LeetCode简单第9题-二叉树的最大深度
深度优先算法递归: /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right…...
com.microsoft.sqlserver:sqljdbc4:jar:4.0 was not found产生原因及解决步骤
文章目录 问题sqlserver 包找不到 报错原因分析主要原因 解决方案步骤 1:检查 pom.xml 中的依赖声明步骤 2:配置 Microsoft 的 Maven 仓库步骤 3:强制更新 Maven 依赖步骤 4:清理本地仓库缓存步骤 5:手动下载并安装 sq…...
【算法】 滑动窗口—最长无重复子串
“无重复字符的最长子串”,难度为Medium,看下题目: 输入一个字符串 s,请计算 s 中不包含重复字符的最长子串长度。 比如,输入 s "aabab",算法返回2,因为无重复的最长子串是 "ab…...

SpringBoot2:web开发常用功能实现及原理解析-上传与下载
文章目录 一、上传文件1、前端上传文件给Java接口2、Java接口上传文件给Java接口 二、下载文件1、前端调用Java接口下载文件2、Java接口下载网络文件到本地3、前端调用Java接口下载网络文件 一、上传文件 1、前端上传文件给Java接口 Controller接口 此接口支持上传单个文件和…...

Linux:进程状态和优先级
一、进程状态 1.1 操作系统学科(运行、阻塞、挂起) 为了弄明白正在运行的进程是什么意思,我们需要知道进程的不同状态 大多数操作系统都遵循以下原则 1.1.1 运行状态 因为有一个调度器需要确保CPU的资源被合理使用,所以需要维护…...
代码随想录算法训练营day37
1.携带研究材料 1.1 题目 52. 携带研究材料(第七期模拟笔试) 1.2 题解 #include <iostream> #include <functional> #include <vector> using namespace std;int main() {//输入相关信息int classes, cabaity;cin >> classe…...

Java-idea小锤子图标
这一版的idea小锤子图标其实就在这里 点进去就找到了~...

最强神器Typora 2024(亲测有效)| Markdown 工具推荐
听俺讲一下 大家好,我是程序员-杨胡广,今天想给大家分享一个在编写文档时的神器——Typora。相信不少小伙伴都在寻找一款既简洁又强大的 Markdown 编辑工具,而 Typora 无疑是最值得推荐的选择。 当我在大学时偶然发现了它,直到今…...
【时时三省】tessy 单元测试 集成测试 专栏 文章阅读说明
目录 1,关于更新 2,关于文章阅读 3,关于文章分类 1,单元测试 2,集成测试 3,通用便捷操作 4,编译问题集锦 5,需求管理 6,CTE的使用 7,tessy自动化执…...

力扣刷题(6)
两数之和 II - 输入有序数组 两数之和 II - 输入有序数组-力扣 思路: 因为该数组是非递减顺序排列,因此可以设两个左右下标当左右下标的数相加大于target时,则表示右下标的数字过大,因此将右下标 - -当左右下标的数相加小于targ…...

TiDB 扩容过程中 PD 生成调度的原理及常见问题丨TiDB 扩缩容指南(一)
导读 作为一个分布式数据库,扩缩容是 TiDB 集群最常见的运维操作之一。本系列文章,我们将基于 v7.5.0 具体介绍扩缩容操作的具体原理、相关配置及常见问题的排查。 通常,我们根据当前资源状态来决定是否需要调整 TiKV 节点的规模࿰…...

匿名管道详解
进程间通讯的目的 数据传输:一个进程需要把它的数据发送给另一个数据资源共享:多个进程需要共享同样的资源通知事件:一个进程需要向另一个或者一组进程发送消息,通知它发生了某种事件(如进程终止时要通知父进程&#…...

深度解读MySQL意向锁的工作原理机制与应用场景
意向锁 意向锁的概念 意向锁是InnoDB自动添加的一种锁,不需要用户去干预。 是数据库中的一种表级锁,一个事务要给一个资源加锁时,必须要先获取到对应类型的意向锁之后,才可以给这个资源加上自己想要的共享锁或者排他锁࿰…...
ZYNQ TCP 协议的远程更新 QSPI Flash
1 SDK直接少些Flash过程 ****** Xilinx Program Flash ****** Program Flash v2019.1 (64-bit)**** SW Build 2552052 on Fri May 24 14:49:42 MDT 2019** Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.WARNING: Failed to connect to hw_server at TCP:127.0.0.1:3…...

告别繁琐粘贴,CleanClip Mac 版,让复制粘贴变得简单快捷!粘贴队列功能太强大了!
告别繁琐粘贴,CleanClip Mac 版,让复制粘贴变得简单快捷! CleanClip for Mac 📋 是一款专为Mac用户设计的高效剪贴板管理工具。它解决了传统复制粘贴过程中的繁琐问题,让你的工作流程更加顺畅和高效。 🔄…...

前端基础知识(HTML+CSS+JavaScript)
文章目录 一、HTML1.1 HTML 基础:1.1.1 HTML 的概念:1.1.2 认识 HTML 标签:1.1.3 HTML 文件基本结构:1.1.4 标签层次结构: 1.2 HTML 快速入门:1.3 HTML常见标签:1.3.1 标题标签:h1-h…...
算力服务器和GPU服务器的区别是什么?
随着互联网科技的快速发展,服务器的类型也变得多种多样了,今天小编就来为大家介绍一下算力服务器和GPU服务器还有他们之间的区别是什么? 算力服务器通常是指具有着较高计算能力的服务器,算力服务器一般都是用于处理大量的计算任务…...

获取Live2d模型
文章目录 1、 Live2D官方示例数据集(可免费下载)2、模之屋3、unity商店4、直接b站搜索5、youtube6、BOOTH完结 1、 Live2D官方示例数据集(可免费下载) 官方提供了一些 Live2D实例模型给大家下载使用 地址:https://ww…...

软考架构-层次架构风格
一、两层C/S架构 客户端和服务器都有处理功能。处理在表示层(客户端)和数据层(服务器)进行 二、三层C/S架构 将处理功能独立出来。表示层在客户机上,功能层在应用服务器上,数据层在数据库服务器上。 三…...

C++课设:实现简易文件加密工具(凯撒密码、异或加密、Base64编码)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、初识文件加密:为什么需要…...

OpenCV CUDA模块图像处理------创建一个模板匹配(Template Matching)对象函数createTemplateMatching()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 创建一个用于在 GPU 上执行模板匹配的 TemplateMatching 对象。 该函数返回一个指向 TemplateMatching 的智能指针(Ptr)…...
从golang的sync.pool到linux的slab分配器
最近学习golang的时候,看到golang并发编程中有一个sync.pool,即对象池,猛地一看这不跟linux的slab分配器类似嘛,赶紧学习记录下 这里先总结下设计sync.pool和slab的目的 sync.pool 为了缓解特定类型的对象频繁创建和销毁&#x…...
springCloud2025+springBoot3.5.0+Nacos集成redis从nacos拉配置起服务
文章目录 前言一、网关gateway选型1. 响应式编程模型2. 网关的特定需求3. 技术栈一致性4. 性能对比5. 实际应用场景优势 二、redis的集成1.引入库2.配置类A、自定义配置类RedisAfterNacosAutoConfigurationB、自定义配置类RedisConfig 总结 前言 最近在搭建最新的springCloud …...

电力系统时间同步系统之三
2.6 电力系统时间同步装置 时间同步装置主要完成时间信号和时间信息的同步传递,并提供相应的时间格式和物理接口。时间同步装置主要由三大部分组成:时间输入、内部时钟和时间输出,如图 2-25 所示。输入装置的时间信号和时间信息的精度必须不…...

快速上手 Metabase:从安装到高级功能实战
文章目录 1. 引言:Metabase——轻量级的数据分析工具🎯 学完本教程你能掌握: 2. 安装 Metabase:本地部署实操2.1 环境准备2.2 使用 Docker 安装 Metabase2.3 初始化设置2.4 连接外部数据库 3. 第一个数据探索:5分钟创建…...
Build a Large Language Model (From Scratch) 序章
关于本书 《从零构建大型语言模型》旨在帮助读者全面理解并从头创建类似GPT的大型语言模型(LLMs)。 全书首先聚焦于文本数据处理的基础知识和注意力机制的编码,随后指导读者逐步实现一个完整的GPT模型。书中还涵盖了预训练机制以及针对文本…...
理解JavaScript中map和parseInt的陷阱:一个常见的面试题解析
前言 在JavaScript面试中,map和parseInt的组合常常被用作考察候选人对这两个方法理解深度的题目。让我们通过一个简单的例子来深入探讨其中的原理。 问题现象 [1, 2, 3].map(parseInt) // 输出结果是什么?很多人可能会预期输出[1, 2, 3],但…...

大模型模型部署和暴露接口
创建环境 激活案件 安装相关依赖 conda create -n fastApi python3.10 conda activate fastApi conda install -c conda-forge fastapi uvicorn transformers pytorch pip install safetensors sentencepiece protobuf 新建文件夹 mkdir App cd App touch main.py 复制代码…...
javascript中Cookie、BOM、DOM的使用
Cookie 在客户端存储小型文本数据(通常 ≤ 4KB),常用于会话管理、个性化设置等场景。 名称描述作用生命周期存储位置安全性会话 Cookie临时存储,浏览器关闭后自动删除会话管理、个性化设置浏览器关闭内存高持久 Cookie设置过期时…...