android:自定义对话框

Android中实现自定义对话框 在showDialog方法中,创建CustomDialog对象,并使用setText方法设置对话框的文本内容。通过以上步骤,我们可以实现一个简单的自定义对话框的功能。首先创建对话框的布局文件,然后创建自定义对话框类并设置布局文件和相应的逻辑代码,最后在Activity中调用自定义对话框。在Activity中,我们可以根据需要创建一个CustomDialog对象,并使用setText方法设置对话框的文本内容。同时,我们可以在类中添加一些自定义方法,用于设置对话框的文本内容和按钮点击事件。 阅读详情

1.实现效果

                   

2.定义dialog.xml (res/layout/dialog.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="250sp"
        android:layout_height="270sp"
        android:layout_centerInParent="true">

        <TextView
            android:id="@+id/dialog_title"
            android:layout_width="wrap_content"
            android:layout_height="35sp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="15sp"
            android:textColor="#333333"
            android:textSize="17sp" />

        <TextView
            android:id="@+id/dialog_message"
            android:layout_width="wrap_content"
            android:layout_height="160sp"
            android:layout_centerInParent="true"
            android:layout_marginTop="65sp"
            android:textColor="#333333"
            android:textSize="17sp" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="30sp"
            android:layout_marginBottom="20sp"
            android:orientation="horizontal">

            <LinearLayout
                android:id="@+id/dialog_confirm"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="@drawable/confirm_button_style"
                    android:gravity="center"
                    android:text="确定"
                    android:textColor="@color/white"
                    android:textSize="18sp" />
            </LinearLayout>

            <LinearLayout
                android:id="@+id/dialog_cancel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="22sp">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="@drawable/cancel_button_style"
                    android:gravity="center"
                    android:text="取消"
                    android:textColor="@color/teal_200"
                    android:textSize="18sp" />
            </LinearLayout>
        </LinearLayout>

    </RelativeLayout>
</RelativeLayout>

3. 设置确定、取消按钮的background

上文的dialog.xml中,确定和取消按钮都是TextView,所以需要自定义按钮的背景

confirm_button_style.xml  (所有的color需要自定义)

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="1000sp"/>
    <solid android:color="@color/teal_200"/>
    <stroke
        android:width="0.5sp"
        android:color="@color/colorAccent"/>
    <size android:width="105sp" android:height="40sp"/>
</shape>

cancel_button_style.xml 

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="1000sp"/>
    <solid android:color="@color/white"/>
    <stroke
        android:width="0.5sp"
        android:color="@color/teal_200"/>
    <size android:width="105sp" android:height="40sp"/>
</shape>

4. 自定义dialog的使用

final AlertDialog dialog = new AlertDialog.Builder(xxxClass.this).create();
dialog.setCancelable(false); //点击对话框以外的位置,不消失
dialog.show();

Window window = dialog.getWindow();
window.setContentView(R.layout.dialog);
//标题
TextView title = window.findViewById(R.id.dialog_title);
title.setText("dialog_title");

//内容
TextView message = window.findViewById(R.id.dialog_message);
message.setText("dialog_message ");

//确定按钮
LinearLayout confirm = window.findViewById(R.id.dialog_confirm);
confirm.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //xxx
    }
});

//取消按钮
LinearLayout cancel = window.findViewById(R.id.dialog_cancel);
cancel.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //xxx
    }
});

Android对话框实现编程:创建自定义对话框 在这个布局中,我们使用了一个LinearLayout作为根布局,内部包含一个TextView用于显示对话框的标题,一个EditText用于用户输入,以及一个Button用于确认操作。在这个例子中,我们创建了一个CustomDialog实例,并传入对话框的标题、默认文本和按钮点击的回调监听器。在这个布局中,我们使用了一个LinearLayout作为根布局,内部包含一个TextView用于显示对话框的标题,一个EditText用于用户输入,以及一个Button用于确认操作。 阅读详情

相关推荐

安卓自定义UI组件开发实践:单选、多选对话框和POPWindow

在本章中,我们将探讨如何实现一个自定义的单选对话框,并且了解其在不同场景下的应用。我们将从基础出发,逐步深入,从单选对话框的设计理念讲起,接着介绍其实际的代码实现方法,最后通过具体案例分析其在实际开发中的应用。自定义单选对话框作为一种用户交互组件,提供了一种简洁而高效的方式让用户进行选择。在Android开发中,我们经常需要处理用户的选择行为,特别是在设置选项或进行配置调整时。单选对话框能够限制用户只能选择一项,这使得在提供一组互斥选项时,它们显得十分有用。

weixin_32747681的博客 779

Android自定义选项对话框

主要是完成对话框, 出现单选和多选的一些设置选项 数据准备

浪客川 1288

构建自定义Android对话框:项目教程与代码示例

在Android开发中,布局资源是定义用户界面外观和结构的关键部分。自定义布局资源允许开发者根据应用需求来设计和实现复杂的用户界面。为了创建自定义布局,首先需要了解布局资源的基本概念和类型,比如线性布局(LinearLayout)、相对布局(RelativeLayout)和帧布局(FrameLayout)等。每种布局类型都具备不同的属性和特性,能够适应不同的设计需求。自定义Dialog类是扩展Android系统中Dialog类实现的,它允许开发者通过更灵活的方式创建和管理对话框。

weixin_35706067的博客 657

Android 几个简单的自定义对话框介绍

Android 对话框直接使用肯定是不好看的,如果需要添加取消和确定按钮,肯定是需要进行自定义修改的。本文简单介绍一个简单的可扩展的对话框,并且支持不同类型样式,加了点小动画。有需要的可以看看。//(1)默认字符串显示,显示一个确认按钮,只是用来测试//(2)修改标题和文本内容,显示一个确认按钮")").show();//(3)修改标题和文本内容和类型图标,显示一个确认按钮").show();大部分场景上面三个代码比较常用。

wenzhi的博客 3286

手把手教你用CMake和MinGW64编译libuvc:静态链接与动态链接的选择

本文详细指导如何在Windows平台上使用CMake和MinGW64编译libuvc库,并深入探讨静态链接与动态链接的选择策略。通过对比两种链接方式在部署复杂度、内存占用和版本管理等方面的差异,帮助开发者根据项目需求做出最优决策,实现高效的USB摄像头开发。

weixin_29171087的博客 253

CS1237卡尔曼滤波实战:如何用24位ADC实现电子秤级精度?

本文详细介绍了如何利用CS1237 24位ADC芯片结合卡尔曼滤波算法实现电子秤级精度测量。通过解析CS1237硬件特性、卡尔曼滤波原理及STM32驱动优化,提供了一套完整的解决方案,包括多通道支持、驱动代码实现和性能调优技巧,适用于工业测量和嵌入式开发领域。

linux的博客 1083

android自定义对话框

如果没有要添加的style可以直接写activity?.let { AlertDialog.Builder(it) }对话框弹出的位置设置:Gravity.TOP,Gravity.CENTER ,Gravity.BOTTEM。R.style.myCorDialog为自定义的样式,下面的例子为添加圆角外框。attachToRoot:是否添加到root,一般为false。root:资源需要被添加的地方,一般为null。关于dialog的显示位置设置。resource:对话框布局。context:上下文。

记录所学所思所想所吾 415

BUCK型DC/DC变换器的建模与仿真

BUCK型DC-DC变换器的建模与仿真摘要1 文献调研1.1 研究背景1.2 Buck电路的应用场合2 原理分析2.1 模型介绍2.2 模型分析2.3 频域和时域响应2.4 参数指标要求3 参数设计3.1 校正器选择3.2 校正器参数整定3.2.1 积分器3.2.2 一阶微分环节3.2.3 超前校正器3.3 改进4 结论与展望参考文献 摘要   目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。如何对一个系统进行建模分析、补偿校正变得越来越重要。   本文选择BUCK型DC/DC变换器作为载体,

屠龙归来仍是少年 2万+

Android 自定义对话框

方法一:直接使用系统的,不自定义布局和功能方式 /* @setIcon 设置对话框图标 * @setTitle 设置对话框标题 * @setMessage 设置对话框消息提示 */ final AlertDialog.Builder normalDialog = new AlertDialog.Builder(MainActivity.this); normalDialog.set

technologyleader的专栏 2231

共享单车需求预测问题:建模篇

机器学习训练营——机器学习爱好者的自由交流空间(qq群号:696721295) 在上一篇里,我们使用可视化的方法分析了“共享单车”的数据集,理解了特征(变量)之间的关系。我们将在本篇建立几个模型预测单车的需求量,并比较它们的预测效果。 随机森林填充法 首先,导入必需的库、训练集和检验集。 import pylab import calendar import numpy as np impor...

wong2016的博客 1万+

OpenCV实战(1)——OpenCV与图像处理基础

OpenCV 是一个跨平台计算机视觉和机器学习库,实现了图像处理和计算机视觉方面的很多通用算法。本节将介绍 OpenCV 的基础知识,以及如何编译运行 OpenCV 程序,并介绍如何完成最基本的图像处理任务——读取、显示和保存图像。除此之外,鼠标事件和图形绘制也是 OpenCV 计算机视觉项目中常用的基本功能,本节介绍了如何使用这两个重要的 OpenCV 功能。

盼小辉丶的博客 12万+

android 如何点击自定义对话框中的按钮关闭对话框,Android:无法关闭自定义对话框...

我有一个自定义对话框,其中包含gridview。 单击文本视图(运行)时弹出对话框。在对话框中有一个gridview。 我的目标是改变选择从GridView中值运行TextView的价值和关闭对话框Android:无法关闭自定义对话框protected Dialog onCreateDialog(int id) {Dialog dialog = null;switch (id) {case CAT...

weixin_39855843的博客 268

Python爬虫实战——如何自动爬取百度搜索结果页面

本文介绍了如何使用Python爬虫抓取百度搜索结果页面的内容,包括如何构建搜索URL、获取页面HTML、解析内容、处理翻页以及存储数据等。通过该教程,您可以轻松实现批量抓取百度搜索结果,并为后续的数据分析和处理打下基础。希望本文能为您在爬虫开发、数据分析等领域提供帮助。如果您在实际应用过程中遇到问题,可以参考反爬虫应对策略,并结合实际需求进行调整。

2201_76125261的博客 1709

android:常用的AlertDialog对话框及自定义对话框

常用的Dialog有确认对话框,单选按钮对话框,多选按钮对话框,复选按钮对话框另外还有自定义的对话框 AlertDialog的常用方法 setTitle:为对话框设置标题 setMessage:为对话框设置内容 setIcon:为对话框设置图标 setItems设置对话框要显示的list setMultiChoiceItems:一般用于复选框显示 setSingleChoiceI

苏苏爱自由 3528

如何程序化的将 Wire 文件转换成 STEP、CATIA、DWG、NX、FBX 等格式

Wire 文件是专有格式,只有 Autodesk Alias 软件能够直接打开和编辑。 虽然可以在 Alias 软件中手动打开文件并导出为 STEP,但在实际工作中,经常会遇到需要转换数十甚至数百个文件的场景。如果每次都手动操作软件进行转换,不仅效率低下,还容易出错,批量场景下会非常麻烦。因此,程序化、自动化的转换方案变得至关重要。

weixin_44211633的博客 450

一文搞懂电流、电压的有效值 RMS

交流电有正半周、负半周,直接平均可能抵消成 0,但负半周一样会发热。这个交流电如果换成直流电,能产生同样发热功率时,对应的直流电压或电流”,电容耐压通常不能按 220V 选,常见会选 400V 或更高余量。所以做硬件时,220VAC 整流滤波后电容上会接近。电压/电流的有效值,也叫。如果它加在电阻上,发热按。

qq_52293640的博客 444

安卓通知的使用系列6:对话框通知的使用之自定义对话框

自定义对话框是使用对话框的一种高级形式,下面我们来介绍一下它的使用方式。 整体思路:首先定义一个custom_dialog.xml文件,在这个文件中放置几个控件,作为自定义的对话框的界面,创建一个CustomDialog类,在这个类中定义它的构造方法和show方法,在show方法中绑定custom_dialog.xm文件,设置这个xml文件中控件的属性,并显示这个自定义对话框。 custom_

luoshiwutai的博客 506

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Android简明开发教程十八:自定义对话框 Transform

Android自带的AlertDialog,ProgressDialog,DatePickerDialog,TimePickerDialog 可以用于简单的对话框显示。当还是有这些对话框不能满足应用需要的时候,这时就可以使用一些自定义的对话框。有多种方法可以实现自定义对话框。一是使用Activity作为Dialog,可以通过设置Activity显示Dialog风格,使得该Activity在外观上和...

weixin_34378045的博客 102

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Android:AlertDialog自定义对话框

val view = LayoutInflater.from(this).inflate(R.layout.layout_dialog_to_do_list, null) AlertDialog.Builder(this).apply { setTitle("新建列表") setView(view) setNegativeButton("取消") { dialog, which -> } setPositi...

leekey的博客 2972

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

android:控件自定义-对话框

在values的styles.xml中定义对话框样式:&lt;style name="HorizonDialog" parent="@android:Theme.Dialog"&gt;        &lt;item name="android:windowFrame"&gt;@null&lt;/item&gt;        &lt;item name="android:windo

Mario_faker的博客 409

Android学习:不再提示对话框(创建自定义对话框)

界面: 创建自定义对话框首先应该定义对话框界面,我只是想要一个带有复选框的对话框界面,因此布局文件很简单: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="m

ミ安之偌素 5308

android 自定义dialog居中,Android上的自定义对话框:如何居中显示标题?

Android上的自定义对话框:如何居中显示标题?我正在开发一个Android应用程序。如何将正在使用的自定义对话框的标题居中?谢谢。11个解决方案100 votes可以通过编程方式完成此操作的另一种方法是使用setCustomTitle():// Creating the AlertDialog with a custom xml layout (you can still use the de...

weixin_28718793的博客 1401

android自定义尺寸单位,Android:自定义对话框尺寸错误

我正在尝试显示带有自定义视图的对话框。布局非常简单;基本上有两个LinearLayouts;每个布局的TextView和EditText。Android:自定义对话框尺寸错误我使用的布局是这样的:android:layout_width="wrap_content"android:layout_height="wrap_content">android:orientation="vertic...

weixin_29352517的博客 213
上一篇: android:震动的实现
下一篇: android: 自定义loading
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值