MMI of UIQ

在这篇文档中,我想从实际编程的角度通过提供UI和关键代码分析来总结一下UIQ涉及到各种View,Dialog和control。
 这样做至少有三个好处:

  1. 提供一个公共的测试代码的平台。主要用于日常开发,当需要实现某个特别的UI的时候,可以先在这个环境中做test直到代码稳定。
  2. 提供一个测试UIQ的平台,当有新版本的UIQ发行时,可以测试前一个版本的元素中有哪些改变和它们的兼容度如何。哪些可以继续使用,哪些需要修改。
  3. 能通过熟悉mmi来快速上手UIQ

现在大体罗列一下涵盖的内容。这些范围还会继续更新。

  1. view:主要有两个方向,一是把所有control包括view风格都在rss文件中定义;另一是所有control都在程序中由代码实现,不依赖rss文件。
  2. dialog:把UIQ中所有类型的dialog都给出一个demo
  3. bar:把UIQ中的title bar, status bar, softkey bar和viewcontext涉及的控制实现了
  4. 系统信息:包括读出Imei,ip地址,mac地址,内存信息,列出运行的软件等方面
  5. property page:在UIQ中称为multipage,包括中view和dialog中实现
  6. menu:包括在menu中加入control,实现多级menu
  7. layout:在这里我希望能将定义的layou可视化
  8. 浮动view:实现一个可以在desktop上自由拖动的view。(大体的原型已经有了)
  9. list:实现各种list,之所以把它单独列出来,我认为list显示信息是做好的,尤其是在phoe上,smart phone都有scrollor,控制也简单方便。
  10. 其他control:也是两个方向,在rss文件中定义;在程序中直接实现。

 

这是一个来自UIQ3 SDK 的一个典型VIEW。view 由三部分组成:

  1. part4 ---- title bar
  2. part3-----softkey & buttoan bar
  3. view 显示区,就是写有红字的区域

其中在part4中的part1是一个特殊的区域,叫做contextbar。一般用来放置进度条或者显示一些提示信息(text)

part2不属于view,在这里标示出来是因为当一个view被switch出来后,这个view可以控制status bar是否出现。

 

一、相关的类(接口):
    CQikViewBase
    MQikViewContext
    MQikViewContextObserver
    MQikViewContextTextFormatter


二、说明 
    MQikViewContext是context bar的接口。从定义我们可以看到,有三种control可以放在context bar上:progress info, text和icon。具体可以执行哪些操作在SDK中有详细的说明。请查询SDK。


三、我的目标
    我的目标是在Context bar上放入如下的control
    1. edit
    2. button
    3. choice list


四、常规编程
        目前只有在CQikViewBase类中提供了一个函数来获得context bar操作接口。这也说明只有从CQikViewBase派生的view或者dialog才可能拥?/span>context bar。

  1. 通过ViewContext()函数获得MQikViewContext类型的指针。 MQikViewContext* viewContext = ViewContext();
  2. 如果要处理context bar的事件,需要实现MQikViewContextObserver接口。然后在获得viewContext指针后,调用 viewContext->SetObserver(object);       此处的object就是实现了MQikViewContextObserver接口的对象。
  3. 调用MQikViewContext接口提供的函数在context bar上添加control
    注意:在接口中也定义了怎么删除control的方法。
  4. 在HandleViewContextEventL函数中处理context bar上control发出的事件


五、目标编程
   已经实现了目标1,2。对于目标3来说,难度比较大,实现的可能很小。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值