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

这篇具有很好参考价值的文章主要介绍了【Android】怎么把一个自定义Dialog弄成一个圆形的。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求

自定义一个Dialog,做成圆形

实现

【Android】怎么把一个自定义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文章来源地址https://www.toymoban.com/news/detail-503920.html

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);

    }
}

到了这里,关于【Android】怎么把一个自定义Dialog弄成一个圆形的的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【Docker】5、Dockerfile 自定义镜像(镜像结构、Dockerfile 语法、把 Java 项目弄成镜像)

    镜像结构 Dockerfile 语法 构建 Java 项目 ① 之前使用的镜像都是 DockerHub 官方提供的 ② 开发者需要将自己的微服务制作为镜像 镜像 是由 应用程序 及其需要的 系统函数库 、 环境 、 配置 、 依赖 打包而成。 📝 镜像是 分层结构 ,每一层称为一个 Layer 1️⃣ BaseImage 层:包含基

    2024年02月03日
    浏览(42)
  • Android studio实现圆形进度条

    参考博客 效果图 MainActivity CircleProgressBar activity_main.xml value/attrs.xml

    2024年02月10日
    浏览(35)
  • android:绘制圆角矩形,椭圆形

    一、前言:在我们工作中会有绘制不同圆角的按钮图形,具体该怎么做之前也只是了解个大概,今天看了一节课,听完老师讲的我自己又写了一遍,记录一下。 二、代码展示: 首先先创建一个DrawableShapeActivity 相对应的xml 以及两个形状xml:shape_oval_rose.xml shape_ract_gold.xml

    2024年02月06日
    浏览(41)
  • Android 自定义View实战—制作一个简易输入框

    这次我们来做一个简易输入框,可以用于密码输入和验证码输入。 依然在EasyView中进行创建,在 com.easy.view 下新建一个 EasyEditText ,继承自 View ,实现里面的构造方法。 ① 构造方法 然后我们继承自 View ,重写里面的构造方法,代码如下: 下面就可以增加样式了。 ② XML样式

    2024年02月10日
    浏览(37)
  • android实现圆形的ProgressBar停止转动

    先来看看 ProgressBar 的常用属性: android:max: 设置 ProgressBar 的最大值,默认是 100。 android:indeterminate: 设置是否开启不确定模式。true 表示进度条会展示实际的进度;而 false 表示在加载时会无限循环展示 loading 动画。 android:minHeight: 设置最小高度。 android:minWidth: 设置最小宽

    2023年04月08日
    浏览(36)
  • JPA使用nativeQuery自定义SQL怎么插入一个对象参数呢?

    0、我们在前后端传递数据时候,参数多的情况下,常常将这些参数封装成对象;当有些场景你需要使用JPA nativeQuery自定义SQL,要将这个对象insert时候,初学者似乎有点犯难,jpa不是spring-data项目的内容吗,所以在sql中也是支持SPEL表达式来获取参数,运用这个思路可以继续 1、

    2024年02月14日
    浏览(41)
  • html+js+css实现一个圆形滑块

    html+js+css实现一个圆形滑块,可以拖动,可以点击,先看效果再讲原理,最后附上源码: 产品经理设计了这样一个需求,通过拖动圆形滑块实现时间的设置功能,虽然看着有点复杂,但是确实有点复杂。 实现思路 需求分析: 一个圆盘,一个滑块; 以圆盘为圆心,点击圆盘任

    2024年02月08日
    浏览(46)
  • VS+Qt 自定义Dialog

    与QtCreator不同,刚用VS添加Qt Dialog界面有点懵,后整理了下: 1.右击项目,选择“添加-模块”,然后选择“Qt-Qt Widgets Class”  2.选择基类[1]QDialog,更改[2]ui文件名称,修改定义Dialog[3]对应类名,最后点击Finish完成。 3.对应的文件即添加完成。 .   

    2024年02月11日
    浏览(23)
  • el-dialog嵌套,修改内层el-dialog样式(自定义样式)

    el-dialog嵌套使用时,内层的el-dialog要添加 append-to-body 属性 给内层的el-dialog添加 custom-class 属性,添加自定义类名 然后使用 不带scoped的style标签 ,书写格式如下: 就可以对其样式进行修改了  大功告成! -------------------------------------------------手动分割线-------------------------------------

    2024年02月13日
    浏览(54)
  • C#实现限制鼠标在一个矩形或者圆形区域内工作

    目录 前言 一、界面设计 二、关键技术 1.设置矩形限制区域 2.设置圆形限制区域 3.解除限制 4.效果展示 正常情况下,鼠标的移动范围是整个屏幕,但有时需要鼠标在某一区域内移动,这个区域可以是矩形也可以是圆形,圆形会复杂一点。 窗体中需要添加三个按钮,分别是设

    2024年02月16日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包