使用布局并不是一个好办法

布局,无非就是确定行列,并对行列的最小、最大、可变范围、比例可变等预处理参数进行指定。

这使得开发者在XAML代码输入时不得不先考虑布局而不是控件,导致在布局完成后仍然需要加入新的功能时又需要对界面布局进行调整,甚至潜意识会觉得不想调整而抑制了功能的增加和控件的优化。

其实,在做每一个界面前,开发者能想到的都只是这个界面的基本功能。为什么要用新界面?为什么不用选项卡、对话框或者直接切换各个Grid的可见状态?这就是另一个问题了,在这里,我们假定界面的增加是因为软件的操作流程到达这个阶段后,不再需要之前控件所展示的信息,而是需要传递一些参数过来并形成新的信息。

再回到布局的局限性。布局这种模式也是一种预处理的概念。为了能够在不同分辨率(或窗口大小)的界面中保持显示的完整和规范,布局确实不需要考虑改变窗口大小而造成内容显示不全或功能区混乱的问题。但如果一个软件系统足够完善到用户保持全屏占满地使用,那还需要布局吗?

靠用户调整界面来保证可访问性是一种不负责任的设计理念。为什么我要添加一个对象要反复地拖拽各种信息窗口的大小和位置?现在的全屏应用都是1080P起步了,就算把这个对象的各个上下文信息都显示到屏幕上,也应该是一种不需要拖拽和滚轮的便利吧。不过一股脑地把对象信息完全用列表展示也是一种不负责任,不仅可读性差,还可能需要滚轮再转两圈才能看到最常用的属性。

一般的软件制作,面对的并不是需要多样化操作和有挑战的构思,而是保证不像开发者那样精通计算机原理和界面语言的普通用户也能够按照日常工作的经验将其映射到流畅的软件操作中。用户的操作绝对不会是为了验证软件的特定功能或是一时兴起随便点点,而是从打开软件的一开始,心里就有了对这个软件使用流程上从头到尾的想法,就看界面设计上会为用户设计多少道“坎”,打乱用户的体验和工作思路,那么软件将停留在“能用”,但“不好用”。

为了减少软件的复杂度,增加软件复用的机会,我们在开发流程时往往会以功能模块为出发点,寻找能够重合的用户流程,为此逐渐将用户的操作体验抛在脑后。独立功能的强大自然重要,但让用户感到整个使用流程中各环节的合理才是软件口碑的保证。为此,我们应该放弃模块式开发,而专注于流程设计与数据流的跟踪。不是分的阶段越多越好,而是为用户提供每个阶段中想要的上下文。不要为用户提供数据,而是为他们筛选数据,并以自动化的方式来显示出来。如果是系统,就占满屏幕,去发挥,如果是工具,就提前为用户构思协作方式,退居屏幕一隅。不要靠所谓的布局来限制开发者的构思,和用户的操作舒适度。

界面本身应该具有让用户沉浸其中的美感,而靠着一些限制参数,让用户界面跟随窗口的长宽“戴着脚镣跳舞”,是难以谱出美妙的音符的。要知道,在布局模式的形成过程中,这些限制参数也只是考虑到了一般情况,况且如今的使用环境也不是当年1024x768的CRT了。该改变了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值