Android UI总结三 弹出框的设计

【Android笔记101】Android之实现搜索界面(搜索弹出框) Android中给我们提供了一个用于实现搜索的组件,有两种使用方式,第一种是:搜索弹出框;第二种是:搜索微件SearchView,这里先介绍搜索弹出框的使用。 阅读详情

一.弹出框实现的几种形式

1.Dialog和AlertDialog

在Android3.0之前系统提供的控件。注:官方不推荐直接使用Dialog创建对话框。传统的new AlertDialog在屏幕旋转时,第一不会保存用户输入的值,第二还会报异常,因为Activity销毁前不允许对话框未关闭。而通过DialogFragment实现的对话框则可以完全不必考虑旋转的问题。

AlertDialog是非阻塞式对话框:AlertDialog弹出时,后台还可以做事情;AlertDialog弹出时,背景是黑色的,但是当我们点击背景,AlertDialog会消失,证明程序不仅响应AlertDialog的操作,还响应其他操作,其他程序没有被阻塞,这说明了AlertDialog是非阻塞式对话框;

1.Dialog在显示之前不需要设置宽高。

2.Dialog响应系统的back事件,在点击back的时候dialog会消失

3.Dialog会给弹出的背景加蒙层

4.Dialog默认设有标题,可以通过dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)取消标题

5.Dialog显示需要加grarity,如果不设置,Dialog默认是Gravity.CENTER。

6.Dialog显示有默认背景,可以通过setBackgroundDrawable(new ColorDrawable(android.R.color.transparent));去掉。

2.PopUpWindow

1.PopupWindow是阻塞式对话框:PopupWindow弹出时,程序会等待,在PopupWindow退出前,程序一直等待,只有当我们调用了dismiss方法的后,PopupWindow退出,程序才会向下执行。PopupWindow弹出时,背景没有什么变化,但是当我们点击背景的时候,程序没有响应,只允许我们操作PopupWindow,其他操作被阻塞。

2.PopupWindow有默认背景,可以通过setBackgroundDrawable(new ColorDrawable(android.R.color.transparent))去掉。

3.PopupWindow显示的时候需要设置Gravity

4.PopupWindow没有标题

5.PopupWindow不会添加蒙层

6.PopupWindow显示前需要设置宽和高

7.Popupwindow默认不会响应物理键盘的back,除非显示设置了popup.setFocusable(true);

 

2.DialogFragment

DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。

使用DialogFragment来管理对话框,当旋转屏幕和按下后退键时可以更好的管理其声明周期,它和Fragment有着基本一致的声明周期。且DialogFragment也允许开发者把Dialog作为内嵌的组件进行重用,类似Fragment(可以在大屏幕和小屏幕显示出不同的效果)。

 

4.基于R.id.content的添加view

 

5.基于Window Manager实现

 

二.下载地址

 

三.视频地址

 

四.弹出框的实现

 

五.通用弹框的实现

1.使用到的设计模式

builder模式 对于参数传递的封装

2.一般需要考虑的参数

title

显示位置

显示框大小

是否需要背景

是否需要左右按钮 左右按钮的事件回传

我们自己的view的传递

圆角的适配问题

是否相应点击back键 

是否响应点击背景等

3.参数的传递方式

builder设计模式有利于清晰明了的知道传递的参数

4.

Android动画:打造仿易信风格的精美弹出框 Android动画系统是开发过程中增强用户体验的重要组成部分。从简单的视图变化到复杂的交互式动画,Android为开发者提供了一系列工具和API来实现流畅和吸引人的动画效果。在这一章节,我们将探索Android动画系统的基础知识和原理,为深入理解和实施动画效果打下坚实的基础。本章节介绍了弹出框设计与布局实现的重要性,并详细阐述了UI设计原则和布局文件编写的方法。在UI设计方面,提出了设计理念和用户体验的核心地位,并通过视觉布局和界面元素的组织来实现这两点。 阅读详情

相关推荐

Android自定义弹出框实现(修改版)完整实例源码

android自定义弹出框的实现。 平时做项目时,感觉android自带的弹出框样式比较丑,很多应用都是自己做的弹出框,这里也试着自己做了一个。

安卓开发——控件AlertDialog实现方式,设置下部三个按钮,自定义布局设置.setView(dialogView)样式,控件PopupWindow1常用方法,showAsDropDown构造方法

安卓开发——控件AlertDialog实现方式,设置下部三个按钮,自定义布局设置.setView(dialogView)样式,控件PopupWindow1常用方法,showAsDropDown构造方法

WZY22502701的博客 4552

android自定义弹出框

android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框

Android 弹窗设计规范

Android 弹窗设计规范

Wang_WY的博客 3535

Android弹窗UI美化

漂亮的android弹窗,更改了很多布局,瞬间高大上。可以显示图片。

Android UI设计之AlertDialog弹窗控件

主要为大家详细介绍了Android UI设计之AlertDialog弹窗控件的使用方法,感兴趣的小伙伴们可以参考一下

底部弹出菜单原来这么简单

需要注意一点的是,最上面那个菜单的样式稍微有点不一样,因为它上面是圆滑的,有圆角,这样的界面显示更加和谐。我们主要考虑的就是弹出对话框的动画样式,另外注意一点就是可以多支持几个语种,让框架更加专业,这里只需要翻译“取消”文字。类的结构不仅可以继承,还可以使用聚合和组合的方式,我们这里就不直接继承Dialog了,使用一种更接近代理的一种方式。条条大路通罗马,能抓到老鼠的就是好猫。底部弹出菜单,即从app界面底部弹出的一个菜单列表,这种UI形式被众多app所采用,是一种主流的布局方式。以上是对话框的样式。

老皮的博客 1857

Android UI设计系列之自定义EditText实现带清除功能的输入框(3)

主要介绍了Android UI设计系列之自定义EditText实现带清除功能的输入框,具有一定的实用性和参考价值,感兴趣的小伙伴们可以参考一下

android 弹窗ui,Android 弹出窗口与对话框 UI设计

左图: Android 自带的日期选择弹窗; 右图: Android 自带的时间选择弹窗.左图: Android 日历中的重复选择; 右图: Chrome 中的打印.干净简洁的布局与有趣儿又引人注目的交互让操作变得轻松而愉快, 尤其是那在时间选择器中出现的双环.同样的, 也有很多人试图在自己的应用中给他们的弹窗添加朴素而符合自己品牌形象的特征.从左至右: Southern Rail 购买确认窗口...

weixin_35521315的博客 539

AgentVerse实战:构建多智能体协作系统的关键技术与应用场景

本文深入探讨了AgentVerse框架在构建多智能体协作系统中的关键技术及应用场景。通过分析智能体通信协议、环境交互机制和任务分解算法,展示了如何利用大型语言模型(LLM)实现智能体间的专业化分工与动态协作。文章还提供了智能软件开发团队和智能客服系统等典型应用案例,以及部署优化实践,为开发者构建高效的多智能体系统提供实用指导。

weixin_29254029的博客 361

脑电分析中的频谱特征提取 —— 从理论到实践

本文系统介绍了脑电信号(EEG)频谱特征提取方法及其应用。EEG信号通过频谱分析可分为Delta、Theta、Alpha、Beta和Gamma等具有明确生理意义的频段。文章详细讲解了功率谱密度、频带功率、相对功率、频谱熵等关键特征的计算方法,并提供了Python实现示例,包括模拟数据和真实CHB-MIT癫痫数据集的处理流程。这些频谱特征在脑机接口、情绪识别、疲劳监测和癫痫检测等领域具有重要应用价值。文章强调频谱特征结合时域和非线性特征可提升分析效果,为EEG研究提供了实用指导。

qq_32516809的博客 1441

Android 多种简单的弹出框样式设置

简介这是一个基于AlertDialog和Dialog这两个类封装的多种弹出框样式,其中提供各种简单样式的弹出框使用说明。同时也可自定义弹出框。项目地址:https://github.com/Liumce/jjdxm_dialogui特性1.使用链式开发代码简洁明了2.所有的弹出框样式都在DialogUIUtils这个类中完成,方便查阅方法3.可以自定义弹出框字体样式4.简单的类似加载框的样式可以支...

liumce的博客 9421

模型量化必知:Per-Tensor和Per-Channel到底怎么选?

本文深入解析了模型量化中Per-Tensor与Per-Channel两种核心策略的抉择。Per-Tensor量化实现简单、硬件兼容性极佳,适合激活值或分布均匀的权重;而Per-Channel量化精度更高,能更好地处理权重分布不均的卷积层,是现代CNN权重量化的主流。文章提供了从硬件平台、数值分布到精度需求的实战决策框架,并推荐了“权重Per-Channel,激活Per-Tensor”的混合量化最佳实践。

assembly8low的博客 983

php和jquery ui弹出框,Jquery-UI实现弹出框样式

需要引用$( "#dialog" ).dialog({autoOpen: false,width:"751",height:"413",modal:true, //弹出框背后的层不能点击// title:"xxx",buttons:{"确定":function(){$(this).dialog("close");} ,"取消":function(){$(this).dialog("close"...

weixin_29762151的博客 244

FPGA 学习系列(2):Verilog 语法基础

Verilog 由门级建模数据流建模行为建模门级建模(Gate Level Modeling):使用基本逻辑门描述电路,接近硬件物理结构。数据流建模(Data Flow Modeling):使用assign语句进行组合逻辑建模,类似数学方程式。行为建模(Behavioral Modeling):使用always代码块和if-elsecase等控制语句建模,抽象程度较高。Verilog 代码一般由模块(module)组成,每个模块描述一个独立的硬件功能。

Azperk的博客 987

【AI Agent教程】各种Agent开发框架都是如何实现ReAct思想的?深入源码学习一下

驱动大模型有很多种方式,例如纯Prompt方式、思维链方式、ReAct方式等。ReAct 方式是 AI Agent 最常用的实现思路之一,它强调在执行任务时结合推理(Reasoning)和行动(Acting)两个方面,使得Agent能够在复杂和动态的环境中更有效地工作。

同学小张的博客 6396

android弹出框自定义按钮,安卓(kotlin)自定义弹出框

在安卓开发中,我们经常会遇到这种情况,就是可爱的UI们设计了一套属于我们自己风格的弹出框,为了彰显我们自己的风格,使用自动的dialog当然满足不了我们的需求,所以还是得这基础上写出我们自己的提示框,以后UI再变化,我们也只需要修改样式就好了。1.首先我们先写好dialog的样式custom_dialog.xmlandroid:id="@+id/content"android:layout_wid...

weixin_33110431的博客 1551

FATFS挂载多个存储设备(2):功能配置及功能测试

本文介绍了基于FATFS文件系统实现多存储设备挂载的方法,包含底层设备驱动函数编写、功能配置、功能测试。

kevin1499的博客 2585

android 自定义登陆弹出框

android 自定义登陆弹出框  从本节将开始阐述一个完整系统Demo,从登陆--主页--查询展示具体详情...这节是一个自定义登陆弹出框,接着上一节的logo全屏页面之后将出现一个全屏的ImagView,点击弹出自定义登陆框,输入账号密码提交,弹出提交等待框效果如图:   提交等待框:   代码: Java代码  

u013053383的专栏 3207

RML2018.01a数据集的读取与使用

基于深度学习的自动调制识别

QAQIknow的博客 1万+

2026最新openclaw(clawbot/moltbot)真正在自己个人电脑上搭建部署,配置飞书远程远程让AI助理操控电脑完成任务,以及结合ollama无限token实现7*24小时工作(附配置)

2026最新openclaw(clawbot/moltbot)真正在自己个人电脑上搭建部署,配置飞书远程远程让AI助理操控电脑完成任务,以及结合 ollama 无限token实现7*24小时工作,以及部署安装需要的 skills 完成复杂的工作任务(附完整可以运行的配置文件)。 很多人已经会配置安装 openclaw 了 ,但是 安装完成之后真正让电脑自动运行起来的很好,完成出色工作的更少,最常见的就是聊聊天,或者执行一些简单的命令,理解要让电脑自动化工作,openclaw、skills、大模型这三样。

代码讲故事 2962

Android自定义弹出框

在开发Android项目的过程中,弹出框真的是我们的常见的一种互动式窗体,但是Android系统自带的弹出框往往都不能满足我们的需要,大多数的时候需要我们自定义一种更漂亮的窗体来来展示给用户。 接下来是我很久之前用的一个自定义弹出框,记录一下,以便自己日后使用。 0、先来一张效果图 1、先定义个一个继承自Dialog的自定义弹框CustomDialog import android.app.Dialog; import android.content.Context; import andro

老赵的地盘 5232

VB摄像头监控

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

Android 弹出框组件

实现Android弹出框组件 1. 流程概述 在Android开发中,实现弹出框组件一般可以通过AlertDialog来实现。下面是一个简单的实现流程示意图: 开发者小白开发者小白#render_9_1512438756-svg{font-family:"trebuchet ms",verdana,arial,sans-s...

weixin_36861966的博客 149

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

安卓弹出框AlertDialog基本用法

背景 AlertDialog是安卓里用于显示弹出框的常用组件,使用频率较高。 如果希望自定义dialog,可以参考: https://blog.youkuaiyun.com/yinxing2008/article/details/84589359 Demo源代码: https://gitee.com/cxyzy1/UIDemo/tree/master/alertDialogDemo 效果图 用法(Kotli...

蓝不蓝编程 2335

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Android 仿微信点赞和评论弹出框

本文简单模仿微信朋友圈的点赞和评论弹出框,布局等细节请忽略,着重实现弹出框、发评论,及弹出位置的控制。

关注移动端、Web、微信小程序等大前端领域 5万+

笔记——android_uI页面设计基础

一个不会Android的人,从哪里开始学呢?本章将带初学者进入Android的会客厅,当然先需要Java语言基础,并安装好Android Studio开发工具。 当我们打开手机里的一款App时,首先看到的便是App页面,本章将教初学者如何快速把握Android页面设计的核心,设计一个App页面,并能做一定的交互。 3.1 布局文件 页面文件在Android里叫布局文件,当我们在Android Studio工具里创建好一个项目后,布局文件所在位置是项目的【res】目录下的【layou...

m0_64478952的博客 3634
上一篇: Android 异常奔溃的拦截和记录工具封装
下一篇: Android 面试总结
MatrixGame
博客等级 码龄9年 40粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MatrixGame

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值