简单快速取消AlertDialog的白色背景框,AlertDialog设置圆角背景

这篇具有很好参考价值的文章主要介绍了简单快速取消AlertDialog的白色背景框,AlertDialog设置圆角背景。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简单快速取消AlertDialog的白色背景框,AlertDialog设置圆角背景,android 踩坑,java,android

问题描述:

         产品需求弹出的提示框是圆角,使用shape 设置圆角背景后,弹出的AlertDialog提示框四个角有白色的背景,据分析这个背景是 AlertDialog 父组件的背景色。

解决方法:

将Dialog的背景设置为透明色,代码如下:

getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 

详细将AlertDialog设置圆角背景方法:

1、首先在drawable文件夹下建一个xml文件,如ic_background_radius.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <solid android:color="@color/grey_c4c4c4"/>  //填充色
    <corners android:radius="16dp"/>  //圆角大小
</shape>

2、然后在layout文件夹下建一个xml布局文件,如dialog_face_compare_layout.xml 。在布局文件的根布局中设置了background属性为@drawable/ic_background_radius,目的是为了让dialog显示圆角边框。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="@drawable/ic_background_radius"   //设置定义的圆角背景
    android:padding="16dp">


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="150dp">

        <ImageView
            android:id="@+id/iv_face_compare"
            android:layout_width="150dp"
            android:layout_height="150dp"
            android:layout_centerInParent="true"
            android:scaleType="centerCrop"
            android:src="@drawable/ic_face_comparing2" />

        <ImageView
            android:id="@+id/iv_scan_line"
            android:layout_width="180dp"
            android:layout_height="3dp"
            android:layout_alignParentTop="true"
            android:layout_centerInParent="true"
            android:scaleType="centerCrop"
            android:src="@drawable/ic_line_drawable" />

    </RelativeLayout>

    <TextView
        android:id="@+id/tv_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerInParent="true"
        android:gravity="center"
        android:text="请正视前方"
        android:textColor="@color/black"
        android:textSize="16sp"
        android:textStyle="bold" />

</LinearLayout>

3、在MainAcitvity中写弹出AlertDialog的方法,此处用的dialog是引用外部布局的方式,要想去掉四角的白色背景框至关重要的一句是:

tipDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));


View tipInflate = LayoutInflater.from(mContext).inflate(R.layout.dialog_face_compare_layout, null);  //设置dialog显示的布局
        AlertDialog tipDialog = new AlertDialog.Builder(mContext).setView(tipInflate).create();//创建AlertDialog对象
        tipDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));//将AlertDialog父组件的背景设置为透明色
        tipDialog.show();  //显示提示框

修改后效果图:

简单快速取消AlertDialog的白色背景框,AlertDialog设置圆角背景,android 踩坑,java,android

 文章来源地址https://www.toymoban.com/news/detail-823326.html

到了这里,关于简单快速取消AlertDialog的白色背景框,AlertDialog设置圆角背景的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue 如何简单快速组件化

    为了简化拆分复杂的代码逻辑,和实现代码的组件化,封闭化。我们需要使用组件化的方法。我这里只讲解我感觉最优的组件化方法。 vue组件化总结 vue 单文件组件 子组件修改Props报错 vue 父组件调用子组件方法ref vue中组件的props属性(详) 使用Vue-cil搭建一个简单的Vue页面,

    2024年02月12日
    浏览(39)
  • Ubuntu访问主机共享文件夹——简单快速

    首先点击此处 点击设置或者虚拟机设置弹出下面的页面,点击共享文件夹 点击下面确定就行了。 进入Ubuntu中打开终端,输入如下命令就可以了。 cd /mnt/hgfs

    2024年02月11日
    浏览(47)
  • 超详细python下简单快速下载opencv

    ​看了许多下载安装opencv的方法,总结出一个最高效简单的,希望一些像我这样的小白可以少踩雷(主要怕自己忘记!) python下载 大家可以到官网中选择需要的版本,官网地址 ,官网下载调试pip比较麻烦,图省事的UU们可以私信我,如果看到可以给大家发压缩包,直接使用

    2024年02月17日
    浏览(36)
  • 【数据结构】简单快速过一遍红黑树

    ​ 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。 每个结点不是红色就是黑色 根节点是黑

    2023年04月21日
    浏览(34)
  • 冒泡排序 简单选择排序 插入排序 快速排序

    bubblesort 两个for循环,从最右端开始一个一个逐渐有序 selectsort 假设是升序,两个for循环,从最左端开始一个一个逐渐有序,找到lengh-1个无序区的最小值 insertsort 两个for循环,从最左端开始一个一个逐渐有序,默认第一个就是有序区,第一个for遍历无序区,第二个for循环遍历

    2024年02月13日
    浏览(46)
  • Windows重启mysql的方法(快速简单)

    目录 一、背景 二、操作步骤  错误做法  正确做法 有时候修改了数据库,但是MySQL数据库内容有延迟缓存,那么就需要重启一下数据库去解决问题 错误做法 直接去cmd命令里面输入 net stop mysql 这样停止,这样很可能会失败,因为mysql数据库服务里面不一定叫mysql,可能还加了

    2024年04月16日
    浏览(34)
  • LTspice快速上手--搭建简单RC电路

    LTspice下载地址 打开LTspice: 单击File - New Schematic或者直接点击菜单栏中New Schematic新建原理图。 点击Edit - Component放置元器件或者直接点击菜单栏中的元器件按钮进行放置。     【技巧】 按键盘F2可快速打开元器件窗口进行放置。  放置电源、电阻、电容和GND。 元器件放置时

    2024年01月16日
    浏览(43)
  • Java简单快速入门JWT(token生成与验证)

            简单来说,token就是一个将信息加密之后的密文,而jwt也是token的实现方式之一,用于服务器端进行身份验证和授权访问控制。由于是快速入门,这里简单介绍一下jwt的生成原理         jwt由三部分组成。分别是                 1.Header(标头),一般用于指明toke

    2024年02月04日
    浏览(83)
  • 快速搭建一个简单的SpringBoot项目-详细步骤

    前言 本文章仅供大家参考,如果对大家有起到帮助的话可以点赞支持一下~ 主要发布是为了本人以后能方便的搭建一个SpringBoot项目的框架!!! 源码路径在文章最下方! 1.选择Spring Initializr 2.点击下一步 3.修改jdk的版本,再点击下一步 注意! 4.选中Spring Web,再下一步 5.给项目

    2024年02月10日
    浏览(43)
  • Verilog快速入门(17)—— ROM的简单实现

    (1) 四选一多路器 (2)异步复位的串联T触发器 (3)奇偶校验 (4)移位运算与乘法 (5)位拆分与运算 (6)使用子模块实现三输入数的大小比较 (7)4位数值比较器电路 (8)4bit超前进位加法器电路 (9)优先编码器电路① (10)用优先编码器①实现键盘编码电路 (11)8线-3线优先编码器 (12)使用8线-3线

    2024年02月08日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包