Docking and Anchoring Controls on Windows Mobile

    在正文之前,首先来讲讲Windows Mobile设备UI设计方面的感受。不同环境下,开发Windows Mobile设备应用程序时,界面设计的难易程度也不同。最初在EVC4.0下做Pocket PC 2003se的MFC应用程序时,Resource下的Dialog界面大小是用户指定的,为了使Dialog界面和真实设备的界面吻合,我们需要手动调整Dialog的大小,最头疼的莫过于屏幕在portrait和 landscape 模式切换时,界面不会自动改变。在Visual Studio 2005下,如果使用C++进行native代码开发的话,其界面和EVC4.0下是差不多的。但是使用C#进行managed代码开发的话,就好多了。因为它给的Form就是和真实设备上的Form一致的,这点可以从Form Designer中直观看出来。

    回归到Docking and Anchoring Controls on Windows Mobile的话题中。“Docking”,顾名思义就是停靠,也就是将某个控件停靠在Form的上、下、左、右或者中间(称为Fill)。“Anchoring”是锚固的意思,其意义就像一艘船如果遇到风暴,就需要在海港里使用锚固定一样。我想,大家在使用Visual Studio的时候,可以自己拖动诸如Solution、Debug和Property等窗口,使其停靠在某一个位置,这个就是Docking and Anchoring的意义吧。

    那么,我们如何在Windows Mobile中来设置控件的Docking and Anchoring呢?方法很简单,我们不用写一行代码就能实现这个功能。在某一个控件的Property窗口中,具有Anchor和Dock这两项,我们可以在这两个地方进行设置。如下图1所示:

                                      图1:控件的Anchor和Dock选项

    那么,使用Anchor/Dock和不使用Anchor/Dock有什么区别呢?通过下面两张图片的比较我们就可以直观的感受到。图2是portrait模式下的屏幕。图3和图4是在landscape模式下的屏幕,其中,图3是没有使用Docking and Anchoring的屏幕,图4是使用了Docking and Anchoring的屏幕。大家可以看到,如果使用了Docking and Anchoring,当屏幕在portrait和landscape模式下切换时,控件会自动进行调整,其作用是不言而喻的。

      图2:Portrait模式下的屏幕截图

     图3:Portrait模式下未使用Docking and Anchoring的屏幕截图

    图4:Portrait模式下使用Docking and Anchoring的屏幕截图

    通过以上的比较,我们可以明显感觉到Docking and Anchoring在Windows Mobile UI设计中的作用了吧。无论对开发者还是使用者,Docking and Anchoring都是一个不错的Feature。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

強大的jQuery Chart组件-Highcharts

Highcharts是一个制作图表的纯Javascript类库,主要特性如下: 兼容性:兼容当今所有的浏览器,包括iPhone、IE和火狐等等; 对个人用户完全...

32350
来自专栏何俊林

今日力推: Android 单词助手客户端 / Android 炫酷视频播放器

一、 单词助手 Dictionary 单词助手,可提供单词中英文的翻译,以及长句子的翻译,金山词霸提供的API Retrofit 网络请求 RxJava+Rx...

23770
来自专栏前端新视界

如何编写通用的 Helper Class

Github: https://github.com/nzbin/snack-helper Docs: https://nzbin.github.io/sn...

22880
来自专栏Android开发实战

Android性能优化-渲染优化

我们在开发的过程中,可能经常会遇到测试的一些反馈,就是APP运行卡顿的问题。我们通常所讲的卡顿问题都是因为渲染掉帧的问题引起视觉上的卡顿感。所以了解渲染机制,我...

15920
来自专栏阿凯的Excel

在Excel内实现跳跃!

今天和大家分享Excel中跳跃的神器。 想提跳跃,你会想到什么? 嗯 思路对了,我们实现的就是在Excel内实现跳棋。直接说需求吧! 我有好几千行的数据 ...

41630
来自专栏Material Design组件

Human Interface Guidelines — Steppers

11750
来自专栏互联网杂技

20个为前端开发者准备的文档和指南6

1.SitePoint Sass Reference(SitePoint站点的Sass手册) 它是SitePoint自有的项目,是由我们的常驻高手Hugo Gi...

409100
来自专栏听雨堂

Morris图表使用小记

挺好用的,碰到几个问题,有的是瞎试解决了的: 1、我想折线图能够响应单击事件,即点击某个节点后,就能加载进一步的信息,帮助没找到,参照另外一个地方的写法,居然支...

29780
来自专栏张俊红

python在租房过程中的应用

总第84篇 01|背景介绍: 租房是再普遍不过的一件事情了,我们在租房过程中常考量的两个因素是出租房离公司的远近以及价格,而我们一般都会去链家上看相应的信息,但...

42860
来自专栏iOS开发日记

你不知道的Mac屏幕显示图像

首先从过去的 CRT 显示器原理说起。CRT 的电子枪按照上面方式,从上到下一行行扫描,扫描完成后显示器就呈现一帧画面,随后电子枪回到初始位置继续下一次扫描。为...

47470

扫码关注云+社区

领取腾讯云代金券