Lwuit虽然有BlackBerry的版本,但是对其源代码进行分析过后才发现并不能直接应用于实际项目中,它将所有版本的包括QWERTY、suretype、touch等的不同系统版本混合到一起,给裁剪带来很大难度。目前对其设计结构并不十分明确,所以源代码的裁剪过程比较混乱。虽然blackberry UI不提供类似Lwuit的分页效果,但是我们可以利用现有的API简单的模仿。等一些目前棘手的问题解决后,再慢慢研究吧。。。

两种实现方法:

1、使用屏幕Screen切换;

2、使用Graphics封装。

这两种方法都要用到滚轮的navigationMovement()事件响应函数,所以必须在需要切换的屏幕中重写这个事件。

实现一:使用屏幕Screen切换

思路:在UiApplication的构造函数中先将这两个屏幕压入堆栈。然后创建两个Sreen,在每个Screen中重写navigationMovement()方法。在navigationMovement()中获取UiApplication的对象,然后调用UiApplication.pushScreen()将另外一个界面压入堆栈。在另外一个界面中,调用UiApplication.popScreen()将自身弹出堆栈。

第一个屏幕中的代码:

/* * 滚轮滚动事件响应 * 滚轮动作:向上dy=-1,向下dy=1,向左dx=-1,向右dx=1 * @see net.rim.device.api.ui.Screen#navigationMovement(int, int, int, int) */ protected boolean navigationMovement(int dx, int dy, int status, int time) { // Dialog.alert("TrackBall moved:/r/n"+"x:"+dx+"/r/ny:"+dy); if(dx > 0 && this.isDisplayed()) { SillyDown theApp = (SillyDown)this.getApplication(); theApp.popScreen(theApp.getFirstScreen()); return true; } return false; }

第二个屏幕中的代码:

/* * 滚轮滚动事件响应 * 滚轮动作:向上dy=-1,向下dy=1,向左dx=-1,向右dx=1 * @see net.rim.device.api.ui.Screen#navigationMovement(int, int, int, int) */ protected boolean navigationMovement(int dx, int dy, int status, int time) { // TODO Auto-generated method stub if(dx < 0 && this.isDisplayed()) { SillyDown theApp = (SillyDown)this.getApplication(); theApp.pushScreen(theApp.getFirstScreen()); return true; } return false; }

点评:这种实现方式比较简单,但是效果一般。

实现二: 使用Graphics封装

思路:使用Graphics封装一个LabelField,然后在navigationMovement()方法中重绘每个Field。

代码:(正在编写中,先做个标记)

点评:可以使用这种方法封装一个Tabbed Pane,界面颜色、宽度、高度、字体等都可以自行设置,界面比较华丽,但是代码比较复杂。

BlackBerry实现类似Lwuit的Tabbed Pane效果相关推荐

  1. PHP防QQ列表右划,react native 实现类似QQ的侧滑列表效果

    如果列表行数据需要更多的操作,使用侧滑菜单是移动端比较常见的方式,也符合用户的操作习惯,对app的接受度自然会相对提高点.最近得空就把原来的react-native项目升级了侧滑操作,轻轻松松支持an ...

  2. Silverlight使用DataGrid的模板列(DataGridTemplateColumn)实现类似TreeListView控件的效果

    Silverlight使用DataGrid的模板列(DataGridTemplateColumn)实现类似TreeListView控件的效果 转载于:https://www.cnblogs.com/K ...

  3. WPF触控程序开发(三)——类似IPhone相册的反弹效果

    原文: WPF触控程序开发(三)--类似IPhone相册的反弹效果 用过IPhone的都知道,IPhone相册里,当图片放大到一定程度后,手指一放,会自动缩回,移动图片超出边框后手指一放,图片也会自动 ...

  4. elasticsearch实现类似京东的商品搜索效果(elasticsearch动态聚合)

    用到京东的对其搜索应该不会陌生,其搜索也是使用elasticsearch完成的,下图为一个搜索效果图: 搜索筛选条件会根据查询返回的结果动态变化,要实现这个功能就要用到elasticsearch的聚合 ...

  5. Android素描算法及实现手指在图片上左右滑动调节图片透明度,最终实现类似调节素描浓度的效果

    一.前期基础知识储备 UI掌握PS这一逆天的软件,可以实现将图片转化为素描或者水彩的效果,以素描为例: 在Photoshop中打开一张人物照片,按下快捷键"Ctrl+Shift+U" ...

  6. ajax suggest,ajax Suggest类似google的搜索提示效果

    ajax Suggest类似google的搜索提示效果 2020-11-11 14:21:34 阅读数 375 收藏 0 实现: 有了上面两句后,每个取了名的文本框会多出五个属性: 1.action ...

  7. Unity Shader - 实现类似镜面反射、水面扰动效果

    前几天,家里出了一些问题,搞得心情很不好,面试我也取消了. 唉,反正那个伤心啊,不过,昨天处理好了. 所以说啊,家和万事兴. 加油加油!!! 所以心情好了,我又写博客了. 另外说一下:图形我今年201 ...

  8. Android 实现类似微信页面底部导航效果

    Android 实现类似微信页面底部导航效果 参考的时候需要修改的地方做一下更改,里面有一些多余的代码没有删除. .java里面的主要代码 public class MainActivity exte ...

  9. HTML模仿QQ好友列表,JS+CSS实现类似QQ好友及黑名单效果的树型菜单

    本文实例讲述了JS+CSS实现类似QQ好友及黑名单效果的树型菜单.分享给大家供大家参考.具体如下: 今天介绍的这个菜单堪称极品啊,不过里面的有些图标丢失了,路径还留在那,真想使用的朋友自己制作两个折叠 ...

最新文章

  1. 工业界AI项目落地的繁琐过程
  2. UVA 11134 FabledRooks 传说中的车 (问题分解)
  3. Zookeeper的典型应用场景(2)
  4. 最长递增子序列_python_算法与数据结构
  5. 一款非常简约好看的白色网格个人引导页HTML源码
  6. C++ STL list的成员函数splice的使用
  7. eclipse python java_如何使用Eclipse使用Python导入Java类?
  8. keil+flymcu+CubeMX开发STM32F407
  9. 2022世界机器人大会开幕,有屋智能主动终止IPO,《2022人工智能发展白皮书》发布,2022可穿戴设备出货量将达3.44亿台
  10. 个人云存储的两大强者比拼 百度云VS苹果iCloud
  11. 计算机工程中级职称怎么考,以前中级职称是要考什么计算机-计算机软考中级职称哪个好考...
  12. 小程序跳转小程序,小程序跳转公众号,小程序跳转h5
  13. 刘霞:“手艺人鞋吧”圆了创业梦_创业时代_科技时代_新浪网
  14. Java征兵系统(可拓展)
  15. MYSQL相比于其他数据库有哪些特点?
  16. 使用k3s部署轻量Kubernetes集群快速教程
  17. 2022年四川省安管人员报名即将结束!C证报名11月9日截止!
  18. 手机android player病毒怎么解决,不要担心手机中毒!教您一些有关如何彻底清除Android手机上的病毒的提示...
  19. 浪潮服务器 引导,浪潮服务器RAID配置及系统引导
  20. 惠普电脑怎么用u盘重装Win10系统

热门文章

  1. 生活随记 - 祝贺大家中秋节国庆节节日快乐
  2. 关于vue使用baidu-map根据经纬度定位还是存在偏移的问题
  3. leetcode 665
  4. FI和SD集成自动记账-销售发货开票流程-VKOA
  5. 一个使下载国外数据集速度提升一千倍以上的方法
  6. 【大数据日记】【转】The world beyond batch: Streaming 101(第一节)
  7. C语言编程之用line画直线
  8. HTML写一个简单的登录注册界面
  9. JAVA中J.U.C 包下并发类的应用
  10. 关于iptables和tc的限速理解