Android应用开发:Dialog使用123

完整、详尽的从设计到开发介绍了Android系统中关于Dialog的使用详情。本质上,Dialog的使用非常简单,更多的则是关于应用、产品质量与用户体验的追求。无论是移动互联网狂潮也好,还是传统企业也好,质量、用户体验都是需要与时俱进的。·
摘要由CSDN通过智能技术生成

引言


在Android开发中,我们在很多情况下都会使用到Dialog,即弹出框。如弹出一个登录框,又如有操作需要用户二次确认等情况。本片文章就来阐述一下如何在Android开发过程中,正确的使用Dialog。


Dialog的设计哲学


Dialog是一个弹出框,小的窗口,用来提示用户确认下一步的操作(在确认前这个操作并不执行)或展示额外信息(如下一步的必然操作中确实需要用户知道的信息)。既然是弹出框,就不应该充满全屏(一般情况下),并且要尽可能简短精悍的表达想要展示给用户的意思,剔除一切冗余信息。下图展示了一个标准的Dialog:


1. 标题栏。

用来介绍这个Dialog用来干什么,比如形容自己是在请求用户做什么,或是应用所请求的是什么内容。标题的展现形式可以是单一的文字,也可以是图标+文字。


官方的建议是Dialog如果就是用来警示用户,那么完全可以不需要标题,直接显示内容告诉用户即将发生重要的事情。而有些对于用户来说特别重要的事项,比如丢失数据、产生运营商流量、消费动作等则最好是用最直接的话做标题,然后在内容中做清晰表述。打个比方,如果产生了消费动作,标题就可以起“结账”,内容用来详细表明结的什么账,明细是什么。最好不要在起“警告”这样的标题,因为完全可以用代表警告的图标来表达。


2. 内容。

Dialog主要展示的就是内容了,可以展示多种类型的内容,比如一段重要的描述性话语,或如图中展示的一样是一些单选,同时也可以是多选列表,甚至可以是开发者自定义的任何视图。最需要注意的就是对内容详细或简略的程度进行把控,如果内容过少,那么可以考虑通过交互方式的修改来使用Toast进行展示,毕竟Dialog会阻挡用户的操作,内容较少的Dialog可能会让用户感觉不疼不痒,甚至认为这个提示并不重要,从而降低应用本身的用户体验或者是误操作。

顺便提一下题外话,前一阵子网上爆出的Android最可怕病毒(自动发送短信,传播自身)其实就是滥用Android权限的结果。可见,如果在一些重要动作上不对用户进行必要的提醒、提示,那么某种角度上讲这个应用与“病毒”差不多。


3. 动作按钮


最多两个按钮,一个确定、一个取消,像上图中内容为单选列表,那么就可以理解为点击内容即为“确定”,所以“取消”按钮就不需要了,甚至当Dialog允许通过返回按键或点击Dialog外的区域进行取消时,“取消”按钮也不需要。也就是说,动作按钮这里,可以是2,可以是1,也可以是无。具体的设计逻辑根据Dialog的具体作用决定,如果只是单单的提示,叫用户知道某些信息而已,那么完全可以只放一个“我知道了”按钮,其实这个按钮是“取消”的动作。

对于动作按钮区域并没有什么需要格外注意的,唯一能想到的也就是Android在4.0后将“确定”、“取消”的左右位置换为“确定“在右,”取消“在左。如果一意孤行非要跟主流不一样的话,我想也只能用”呵呵“进行回应了。毕竟是有”用户习惯“这么个名词存在的,当大家都已经习惯了一套规则的时候,所谓”悖论创新“可能也只是”顽皮任性“的挡箭牌而已。


Toast

Dialog算是一个重度的弹出框,在描述”内容“的设计哲学时也说过,如果说内容过少,又只是想提示用户而非叫用户做选择、决定时完全可以考虑使用更加轻量级、对用户体验影响偏小的Toast进行提示。在用户操作上,Toast相比Dialog更加友好,因为Toast在一段时间(Android默认长则3.5秒,短则2秒)后会自动消失,而Dialog必须需要用户进行干涉才可以消失。同时,Toast并不会影响用户在界面上的下一步操作,而Dialog属于一种打断行为,不进行处理就甭想进行下一步操作。信不信由你,如果一个应用能够做到连续弹出3个以上Dialog,用户不是摔手机就一定是卸载应用了。


Dialog的初级开发使用


Android官方建议不要直接使用Dialog这个类来构造应用的弹出框,在开发实践中也很容易发觉确实使用Dialog直接构造弹出框并不方便,基本的视图框架都需要自己来进行设计规划,对于一个简简单单的弹出框来说,这样的实现复杂度明显不符合开发预期。而遵循官方的建议,我们通常使用AlertDialog进行弹出框的构造,同时对于开发过程中可能出现的日期、时间的选择窗口,Android官方也早有准备,分别是DatePickerDialog和TimePickerDialog。(推荐一个开源项目࿰

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值