Android——自定义Dialog的两种常见方式

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

方式一:继承DialogFragment,也是官方推荐的方式

通常我们只需要关注三个回调方法:

onCreateDialog:创建一个dialog外壳

onCreateView:给dialog外壳填充自己想要的样式布局

onViewCreated:这里面给布局的view进行初始化操作,可以设置一些监听器等等

事例:

  • 自定义布局文件:随便写一个文章来源地址https://www.toymoban.com/news/detail-601324.html

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/threat_call_rootView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/dialog_white_big_corner_roundrect_bg">

    <LinearLayout
        android:id="@+id/threat_call_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/dialog_white_big_corner_roundrect_bg"
        android:orientation="vertical"
        android:paddingLeft="32dp"
        android:paddingTop="48dp"
        android:paddingRight="32dp"
        android:paddingBottom="48dp">

        <TextView
            android:id="@+id/threat_call_number"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="标题"
            android:textColor="@color/black"
            android:textSize="20sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/threat_call_desc"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="4dp"
            android:lineSpacingExtra="3sp"
            android:text="正文"
            android:textColor="@color/black"
            android:textSize="14sp" />

        <EditText
            android:id="@+id/threat_call_edittext"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:layout_marginTop="16dp"
            android:width="100dp"
            
            android:background="@drawable/sip_threat_call_dialog_edittext_stroke"//给editText加个外边框
            android:hint="  (optional)"
            android:lineSpacingExtra="3sp"
            android:maxLength="255"
            android:minLines="1"
            android:paddingLeft="5dp"//这个属性的一个妙用可以改变光标的起始位置,不然光标有可能看不到
            android:text=""
            android:textCursorDrawable="@null"
            android:textSize="14sp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <Button
            android:id="@+id/thre

到了这里,关于Android——自定义Dialog的两种常见方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Android Studio 导入framework.jar的两种方式

    第一种:把framework的jar包放到工程目录外 1、把framework.jar包放到当前工程以外的地方。例如我放到SDK目录下。如下图  2、在项目根目录的gradle中引入jar包  导入后我们可以在项目中导入的包 External Libraries 中找到“Gradle D”的包。是因为我的SDK在D盘下,framework包放在SDK包下。

    2024年02月09日
    浏览(59)
  • Android Dialog setCanceledOnTouchOutside失效,点击dialog外面不消失

    前言:有一个需求需要点击dialog外面要消失,本来以为很简单结果设置了一直未生效 问了半天chat-gpt4结果给的答案都不明显 查看代码发现设置了style,于是尝试去除这个style,结果点击setCanceledOnTouchOutside(true);生效了 经过排比法,发现是item name=\\\"android:windowIsTranslucent\\\"true/item导

    2024年01月19日
    浏览(36)
  • android 9.0以上版本,获取U盘路径的两种方式

    第一种,通过DocumentProvider: 第二种,通过StorageManager,无法使用的记得用反射;

    2024年02月13日
    浏览(47)
  • QT中在MainWindow(主窗口)中创建Dialog(对话框)两种方式优缺点对比

    新建窗口工程 利用ui工具在Window中创建三个按钮 打开对话框 关闭对话框 改变三个按钮的名称 openDialog closeDialog 在工程中添加QDialog类,名字是Dialog 在Dialog中创建label控件,写上HelloWorld 最关键的一步,在window的类中创建Dialog私有对象指针 在window.cpp中编写指针myDialog的初始化代

    2024年02月07日
    浏览(46)
  • 华为二面:adb 连接 Android 手机的两种方式,看完你就懂了

    随着现在移动端技术的突飞猛进,导致现在市场上,APP 应用数不胜数,那对于测试工程师而言,对于 APP 的测试,那基本就是一个必修课了。 今天,我就来给大家介绍一下,adb 连接 Android 手机的两种方式 先使用 USB 线,连接 PC 和手机 通过 PC 给手机安装 adb 驱动,下载好安

    2024年02月09日
    浏览(56)
  • 阿里二面:adb 连接 Android 手机的两种方式,看完你就懂了...

    随着现在移动端技术的突飞猛进,导致现在市场上,APP 应用数不胜数,那对于测试工程师而言,对于 APP 的测试,那基本就是一个必修课了。 今天,我就来给大家介绍一下,adb 连接 Android 手机的两种方式 先使用 USB 线,连接 PC 和手机 通过 PC 给手机安装 adb 驱动,下载好安

    2024年03月22日
    浏览(53)
  • Android Dialog 显示不全的问题

    前言:开发的时候发现一些运行到手机里的dialog显示不全,只显示一半左右  问了下chatgpt发现没有任何头绪,于是开始自己慢慢分析 显示去掉了原有的dialog的style发现问题解决了,但在原有基础上如何解决呢? 先看看xml,发现设置了宽高都不起作用 使用LayoutInspector查看发现

    2024年01月23日
    浏览(58)
  • Android Dialog之DialogFragment详解与使用

            在Android开发过程中,经常会有弹窗业务,在正常的弹窗业务中,常用到的是Dialog,Dialog的原理也是通过将view,添加到Dialog中。Dialog自身是一个独立的窗口,和Activity一样,有自己的window管理。如果简单的使用Dialog不方便管理,在后面Google提供了DialogFragment弹窗。

    2024年02月16日
    浏览(30)
  • Android开发 Dialog对话框 DatePickerDialog

    1. AlertDialog AlertDialog是弹出的提醒对话框,有提示,确认,选择等功能。 没有公开的构造方法,一般用AlertDialog.Builder来完成参数设置,最后调用create方法创建。 参数设置常用的方法:  代码: 效果图:   2. DatePickerDialog DatePickerDialog在 AlertDialog上添加了日期选择器DatePicker,

    2023年04月09日
    浏览(39)
  • 【Android】Dialog不显示的问题,涉及线程处理问题

    在逻辑处理的时候挂了一线程监听网络回调的数据,这样就不会卡在UI没有任何表现导致用户以为死机了。这样的处理方式也是常规的网络处理方式。 结我在成功回调中就简单构造一个dialog来弹出信息展示,结果debug发现明明走到了 create 和 show 方法中,但是就是没有出现在

    2024年02月06日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包