【Android】怎么把一个自定义Dialog弄成一个圆形的

news2024/9/24 9:18:22

需求

自定义一个Dialog,做成圆形

实现

在这里插入图片描述

实现步骤:

创建XML布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#00E2E3E5"
    android:orientation="vertical">

   //右上角的 X 
    <TextView
        android:layout_width="@dimen/dp_40"
        android:layout_height="@dimen/dp_40"
        android:layout_gravity="end"
        android:background="@drawable/baseline_close_24" />

    //使用CardView实现一个圆形,或者使用 shape 也可以实现圆形
    <androidx.cardview.widget.CardView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_gravity="center"
        android:layout_marginTop="-30dp"
        app:cardBackgroundColor="#FFFFFF"
        app:cardCornerRadius="100dp"
        app:cardElevation="0dp"
        app:cardMaxElevation="0dp">

        <ImageView
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_gravity="center"
            android:layout_marginBottom="@dimen/dp_20"
            android:background="@drawable/baseline_rate_24" />

    </androidx.cardview.widget.CardView>

</LinearLayout>

使用自定义的布局文件创建 Dialog

public class RateMeasureDialog extends Dialog {

    public RateMeasureDialog(@NonNull Context context) {
        super(context);
    }

    @SuppressLint({"MissingInflatedId", "ResourceType"})
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dialog_rate_measure);

        //设置周边区域不能点击
        setCancelable(false);

        //设置Dialog页面背景为透明(默认是白色的)
        getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        //自定义Dialog
        WindowManager m = getWindow().getWindowManager();
        Display d = m.getDefaultDisplay();
        WindowManager.LayoutParams p = getWindow().getAttributes();
        Point size = new Point();
        d.getSize(size);
        p.width = WindowManager.LayoutParams.WRAP_CONTENT;
        p.height = WindowManager.LayoutParams.WRAP_CONTENT;
        p.alpha = 1.0f;
        p.gravity = Gravity.CENTER;
        getWindow().setAttributes(p);

    }
}

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

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

相关文章

多元分类预测 | Matlab麻雀算法(SSA)优化极限学习机(ELM)的分类预测,多特征输入模型。SSA-ELM分类预测模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 麻雀算法(SSA)优化极限学习机(ELM)的分类预测,多特征输入模型。SSA-ELM分类预测模型 多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。程序语言为matlab,程序可出分类效果图,迭代…

C#中如何调整easyui中控件方法$.messager.alert弹窗窗口和字体的大小

首先看下调整前的效果&#xff1a; 这是easyui 默认的一个效果&#xff0c;然后 我在网上搜调整大小&#xff0c;搜到的代码是这样的 $.messager.alert({title: 提示,msg: ,icon: warning,ok: 确定,style: {fontSize: 20px // 修改字体大小},fn: function(){$(.messager-windo…

Git 常用指令

查看修改的文件 将修改的文件添加到版本库 Git如何创建、切换、删除分支? 合并分支 新建分支 切换分支 合并分支&#xff0c;解决冲突 删除分支

如何校验 MySQLOracle 时间字段合规性?

作者&#xff1a;余振兴 爱可生 DBA 团队成员&#xff0c;热衷技术分享、编写技术文档。 本文来源&#xff1a;原创投稿 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。 背景信息 在数据迁移或者数据库低版本升级到高版本…

基于OneAPI工具分析包TensorFlow的聊天机器人设计分析和总结

文章目录 基础介绍&#xff1a;实现思路&#xff1a;详细介绍1. 聊天机器人发展历程&#xff1a;2. embedding_attention_seq2seq接口&#xff1a;3. 训练模型&#xff1a;4. Python编程实现完整的聊天机器人&#xff1a;补充内容&#xff1a; 环境搭建与关键技术环境搭建关键技…

【跟晓月学数据库】基于book库的mysql进阶实战

前言 上篇文章中&#xff0c;我们已经导入了book库&#xff0c;如果你还没有导入book库&#xff0c;参考&#xff1a;【跟晓月学数据库】使用MySQLdump 对数据导入导出 这篇文章&#xff0c;主要是基于book库的操作&#xff0c;希望对你有用。 &#x1f3e0;个人主页&#xf…

如何在vue项目开发中使用tailwindcss样式

在vue项目中下载tailwindcss依赖 yarn add tailwindcss1.4.6ornpm i tailwindcss1.4.6新建一个tailwind.css文件 在src文件夹下的asset静态资源文件夹中创建一个css样式文件夹&#xff0c;然后在该css文件夹下创建一个tailwind.css文件&#xff0c;并在文件中写入如下代码 使用…

xss-labs靶场level1~5

参考资料&#xff1a; XSS常见的触发标签_可以触发xss的标签_H3rmesk1t的博客-CSDN博客 基础知识&#xff1a; XSS漏洞的定义: 跨站脚本攻击XSS(Cross Site Scripting)&#xff0c;为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆&#xff0c;故将跨站脚本攻击缩…

android 添加图片 error 使用

安卓开发在drawable文件夹下如何插入后缀为xhdpi xxxhdpi 的图片 1&#xff1a;copy图片进drawable文件夹时&#xff0c;在路径后面加上“-xhdpi” 2.直接在drawable文件夹下新建一个drawable-xhdpi文件夹&#xff0c;你再添加图片的时候就会让你选择将图片具体放到哪个文件夹下…

高速电路设计系列分享-熟悉JESD204B(上)

目录 概要 整体架构流程 技术名词解释 技术细节 1.应用层 2.传输层 小结 基本概要 随着高速ADC跨入GSPS范围&#xff0c;与FPGA(定制ASIC)进行数据传输的首选接口协JESD204B。为了捕捉频率范围更高的RF频谱&#xff0c;需要宽带RFADC。在其推动下&#xff0c;对于能够捕捉更宽带…

Tomcat【管理页面】

管理页面的功能 server status &#xff1a;图形化管理、查看页面状态Manager app&#xff1a;图像化添加、创建、部署、删除项目目录host manager&#xff1a;图形化创建、管理、删除虚拟主机 默认安装tomcat需要配置以后才能使用 配置conf/tomcat-users.xml [rootnginx ROO…

网络通信性能测试方法-iperf、ping

1 iperf工具下载安装 根据板卡类型,选择合适的iperf软件版本下载 (ARM64) wget https://iperf.fr/download/ubuntu/iperf3_3.1.3-1_arm64.deb 根据提示下载依赖 wget https://iperf.fr/download/ubuntu/libiperf0_3.1.3-1_arm64.deb 下载后使用命令sudo dpkg -i xxx.deb …

黑河学院ASP.NET程序设计大作业(3)--登录及账号密码的CURD

目录 一、效果&#xff1a; 二、代码分布&#xff1a; 三、介绍 1.添加用户 2.删除用户&#xff1a; 3.修改密码&#xff1a; 四、遇到的问题&#xff1a; 一、效果&#xff1a; 二、代码分布&#xff1a; 三、介绍 1.添加用户 判断是否是管理员&#xff0c;只有管理员才可以…

chatgpt赋能python:用Python计算圆周率的两种方法

用Python计算圆周率的两种方法 圆周率&#xff08;π&#xff09;是一个非常重要的数学常数&#xff0c;被广泛应用于数学、计算机科学和工程学中。本文将介绍两种使用Python计算圆周率的方法&#xff1a;蒙特卡罗方法和Bailey–Borwein–Plouffe算法。 蒙特卡罗方法 蒙特卡…

C++笔记之字符指针和字符数组的区别

C笔记之字符指针char*和字符数组char[]的区别 code review! 文章目录 C笔记之字符指针char\*和字符数组char[]的区别1.char \[]和char \*的区别2.char\[]和char\*如何相互转换3.char\*,char\[ ],char\[20] 是字符串还是数组&#xff0c;哪一种长度是固定的&#xff1f;4.字符…

【软考网络管理员】2023年软考网管初级常见知识考点(20)- Web服务器配置

涉及知识点 网站的基本配置&#xff0c;虚拟目录的配置&#xff0c;Web服务器配置&#xff0c;虚拟主机的配置&#xff0c;站点安全的设置&#xff0c;HTTPS网站的配置&#xff0c;软考网络管理员常考知识点&#xff0c;软考网络管理员网络安全&#xff0c;网络管理员考点汇总…

利用Django路由项的别名(name)对路由进行反向解析

在Django的函数path()中&#xff0c;可以给一条路由进行命名&#xff0c;然后在视图函数或模板HTML文件中进行调用&#xff0c;这样的好处是&#xff1a;只要路由的name不变&#xff0c;那么修改了URL具体的路由&#xff0c;也不用去更改视图函数或模板HTML中的相关代码&#x…

Redis7【① 概述 安装 配置】

1. Redis入门概述 1. Redis是什么 Redis全称 远程字典服务器&#xff08;Remote Dictionary Server&#xff09;&#xff0c;它是完全开源的&#xff0c;使用ANSIC语言编写遵守BSD协议&#xff0c;是一个高性能的基于内存的Key-Value数据库&#xff0c;提供了丰富的数据结构&…

基于VMD-SSA-LSTM的多维时序光伏功率预测MATLAB程序

基于VMD-SSA-LSTM的多维时序光伏功率预测MATLAB程序资源-CSDN文库https://download.csdn.net/download/weixin_56691527/87950148参考文献&#xff1a; 《基于VMD-SSA-LSSVM的短期风电预测》 《基于改进鲸鱼优化算法的微网系统能量优化管理》 主要内容&#xff1a; 融合了两…

计算机毕业论文内容参考|基于Android的国际酒店预订APP的设计与实现

文章目录 导文摘要:前言:绪论:课题背景国内外现状与趋势课题内容相关技术与方法介绍:系统分析:系统设计:系统实现:系统测试:本文总结后续工作展望导文 计算机毕业论文内容参考|基于Android的国际酒店预订APP的设计与实现 摘要: 随着人们生活水平的提高和旅游业的迅速…