文章目录

  • 前言
  • 一、对话框
    • 1、自定义dialog样式
      • 1、dialog_delect.xml
      • 2、shape_dialog.xml
      • 3、styles.xml
    • 2、使用显示对话框的方法
  • 总结

前言

自定义对话框


一、对话框

1、自定义dialog样式

1、dialog_delect.xml

<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:background="@color/transparent"android:orientation="vertical"><Buttonandroid:id="@+id/tv_delect"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginBottom="10dp"android:background="@drawable/shape_dialog"android:text="delete files"android:textColor="#ff0000" /><Buttonandroid:id="@+id/tv_cancel"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@drawable/shape_dialog"  //边框样式android:gravity="center"android:text="cancel"android:textStyle="bold" />  //字体加粗</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

2、shape_dialog.xml

<!-- rectangle:    矩形、圆角矩形、弧形等oval:     圆、椭圆line:        线、实线、虚线ring:     环形 -->
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="12dp"/>
<solid android:color="@android:color/white"/>
</shape>

3、styles.xml

 <!--对话框样式--><style name="DelectDialog" parent="Theme.AppCompat.Dialog"><!--宽度与屏幕比例--><item name="windowMinWidthMinor">90%</item><!--背景颜色为透明,默认白色--><item name="android:colorBackground">@color/transparent</item><!--浮现在activity之上--><item name="android:windowIsFloating">true</item><!--设定背景透明--><item name="android:windowIsTranslucent">true</item><!-- 是否有覆盖 --><item name="android:windowContentOverlay">@null</item></style>

2、使用显示对话框的方法

 private void showDialog(){// 底部弹出的列表组件AlertDialog.Builder builder = new AlertDialog.Builder(getContext(), R.style.DelectDialog);// 创建弹出的界面组件View inflate = LayoutInflater.from(getContext()).inflate(R.layout.dialog_delect,null,false);builder.setView(inflate);final AlertDialog dialog = builder.create();// 显示dialog.show();// 设置自身在底部弹出Window window = dialog.getWindow();window.setGravity(Gravity.BOTTOM);// 设置view的宽度WindowManager.LayoutParams params = window.getAttributes();params.width = WindowManager.LayoutParams.MATCH_PARENT;window.setAttributes(params);//---------------------------------------------------// 自定义点击事件// 获取删除按钮Button deleBtn = inflate.findViewById(R.id.tv_delect);// 获取取消按钮Button cancelBtn = inflate.findViewById(R.id.tv_cancel);// 删除按钮点击事件deleBtn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {... }});// 取消按钮点击事件cancelBtn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) { ... }});}

总结

1、知道自定义样式 2、实现自定义样式 3、new AlertDialog.Builder(获取样式) --->LayoutInflater.from(添加自定义对话框) --->builder.setView(将自定义对话框设置给builder) --->create() --->show()

Dialog弹出对话框使用相关推荐

  1. 安卓Dialog弹出对话框全解:包含了AlertDialog,DialogFragment

    全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 Dialog基类中并没有定义界面,所以如果使用dialog类设置弹出框,需要使用xml自定义UI. 当然系统也自带了几个dialog派生的弹出框,例如 ...

  2. dialog对话框初始化 mfc_「弹出对话框」MFC系列 - 弹出一个模态对话框 - seo实验室...

    弹出对话框 上一节,说到第一个MFC程序,这一节我们从第一个FirstMFC来延伸弹一个对话框,Initinstance函数相当于main函数,那我们就从这里开始.[更多精彩教程,视频教学.源码分享请 ...

  3. JavaScript - JavaScript自定义弹出对话框

    本脚本使用自定义的浮动窗口替代浏览器自己的对话框,效果非常不错.包含Error | Warning | Success | Prompt 四个对话框窗口 兼容性:IE6+ FireFox2+ Oper ...

  4. 安卓飞机大战(三) 弹出对话框

    在游戏时,不管是退出游戏还是选择战机,都要弹出一个对话框,需要以下代码 按一个按钮弹出对话框 Layout文件:(添加一个按钮) <Button         android:id=" ...

  5. android 弹出对话框时显示键盘

    今天,简单讲讲如何在弹出自定义的对话框时,弹出软键盘. 之前,我讲了如何制作自定义的对话框,现在,如果在弹出对话框时,自动弹出软键盘,将光标直接聚焦到自定义对话框的输入框内,那该怎么做呢? 在网上搜索 ...

  6. android自定义弹出对话框,使用FlyDialog实现自定义Android弹窗对话框

    前言 学习的时候要用到弹窗,但是又觉得i同自带的弹窗样式有点不太美观,搜索资料后发现了FlycoDialog这个开源库,效果很好,而且实现起来也比较方便. 先列举一些比较好看的效果: NormalLi ...

  7. flavr—超级漂亮的jQuery扁平弹出对话框

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 插件描述:flavr是一个时尚的扁平弹出对话框为您的下一个网站. flavr是响应设计布局,能够适应 ...

  8. jQuery Mobile弹出对话框后不刷新原页面,保持原页面内容不变

    使用jQuery Mobile开发移动应用程序时,在一个页面上弹出对话框,关闭对话框后,发现原来的页面被刷新了.如果原页面上有一些已经选择或者填写的数据,则这些数据就会丢失.这时候,就需要对对话框的返 ...

  9. Web开发中的弹出对话框控件介绍

    Web开发中,目前由于Jquery的大行其道,因此很多弹出对话框,都用到了Jquery技术,反而原始的弹出对话框的方式较为少用了.不过基于JQuery的方式实现对话框窗口弹出,也有很多控件可以利用,由 ...

最新文章

  1. 机器学习大神迈克尔 · 乔丹:我讨厌将机器学习称为AI
  2. 深入理解Java虚拟机-如何利用 JDK 自带的命令行工具监控上百万的高并发的虚拟机性能...
  3. 全排列的生成算法:字典序法
  4. adf开发_了解ADF生命周期中的ADF绑定
  5. C#开发笔记之17-如何用C#深克隆一个对象(传统方案)?
  6. java简单多线程_java中实现多线程的几种方式(简单实现)
  7. 美团工程师回应“频繁定位”:常用App权限开启时检测结果基本一致
  8. 智能算法浅介----模拟退火,遗传算法,禁忌搜索,神经网络等
  9. quartus仿真系列1:74163的计数功能
  10. Ambari集群里操作时典型权限问题put: `/home/bigdata/1.txt': No such file or directory的解决方案(图文详解)...
  11. 追加文件内容的三种方法
  12. 如何官网下载 IEEE 论文 Latex 和 Word 模板
  13. 微信小程序 实现提示弹窗
  14. 自定义设置HTTP响应头
  15. vue设置浏览器顶部小图标
  16. 计算机mac地址和另一台一样,电脑mac地址有多个怎么办
  17. 为有梦青年插上助力的翅膀 魅族开发者大赛取得圆满成功
  18. 手机linux系统安装
  19. 一字一句教你聊天,快速把女生聊“嗨”起来
  20. hibernate中对象的状态有三种

热门文章

  1. (设计模式四)java设计模式之建造者模式
  2. New Concept book two word 带音标
  3. 新型消防机器人作文_消防机器人作文600字
  4. 速盘服务器什么时候停止维护,速盘竟然收集用户数据并上传自己服务器?作者出来澄清。还有干净安全的网盘吗?...
  5. WICC 2021来袭 融云领衔探索互联网通信云技术新方向
  6. oracle txchecker用途
  7. WanAndroid
  8. 智能水位检测系统proteus_基于亏单片机的水塔水位检测控制系统仿真设计
  9. 华为深度学习学习心得(第二周)
  10. CentOS7防火墙配置