热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

FullCanvas与Canvas全屏模式真机使用分析

FullCanvas是NOKIA所创造的扩展包中的类,其可以替换掉MIDP2.0中Canvas,并直接提供了全屏实现,并且相比与MIDP中的CANVAS做了一些NOKIA机型所支持的特殊操作,处

FullCanvasNOKIA所创造的扩展包中的类,其可以替换掉MIDP2.0Canvas,并直接提供了全屏实现,并且相比与MIDP中的CANVAS做了一些NOKIA机型所支持的特殊操作,处理。本文主要讨论两种实现全屏的方式在各类机型中的真实表现,并对大家做机型扩展时的选择有所帮助。

 

首先目前主要有两大厂商对FullCanvas提供了支持,分别为NOKIA和索爱.但索爱对FullCanvas的支持不是很好,在模拟器上不会出现问题,但在真机中会出现取不到正确的全屏高度,这个在索爱大屏(240*320)的机型中特别明显,如果你使用getHeight()的方式来获取高度再进行计算绘制的话,那绘制出来的界面就不是全屏的了,而索爱对MIDP2.0中的全屏方式支持是OK的。

 

NOKIAFullCanvas的支持就很好,不会出现这样的问题,但NOKIAMIDP 2.0 Canvas的全屏实现方式setFullScreenMode(true)支持很差,在S60的机型中会出现不能同步取到正确全屏高度,而获取到的是非全屏高度。

 

MOTO的机型不支持FULLCANVAS,并且对MIDP 2.0 CANVAS 的全屏方式也支持的很差,同样不能保证能同步取到正确的全屏高度,这个在V3,E398这些机型中几乎是100%有这个问题,而E680这些机型就不会有这些问题。

 

要解决这种问题,当然最直接的就是写死全屏高度,并且以后的坐标计算都使用这个高度进行计算,不要使用getHeight(),但如果你想做一个自适应的UI设计这种方式就不适用了。

我们从上面的分析可以知道NOKIAFullCanvas支持很好,索爱对MIDP 2.0的全屏方式支持很好,那我们做自适应的UI版本是就可以索爱的使用MIDP2.0的方式,而NOKIA的使用FullCanvas,这样至少可以保证NOKIA和索爱机型实现自适应。而MOTO的话,在V3.E398机型中只能写死高度了,通常都是在获取的高度加2122的高度来实现全屏。

 

  通过这两种方式在不同机型的实现情况,可以看出各种机型对J2ME的支持都不统一规范,甚至对MIDP2.0的标准都不能完全规范实现。我们在做多个版本时只能根据他们的特性进行区分实现了,而这也增加了我们程序开发和后期版本管理的复杂度(一个自适应的程序都必须至少要有3种包)。

 

推荐阅读
  • 本文提供了 CIW Dreamweaver MX2004 认证考试的详细试题解析,涵盖不同难度级别的选择题、多项选择题和判断题。通过这些题目,考生可以更好地理解考试内容并为实际考试做好准备。 ... [详细]
  • 本文介绍了如何在 C# 和 XNA 框架中实现一个自定义的 3x3 矩阵类(MMatrix33),旨在深入理解矩阵运算及其应用场景。该类参考了 AS3 Starling 和其他相关资源,以确保算法的准确性和高效性。 ... [详细]
  • Linux环境下进程间通信:深入解析信号机制
    本文详细探讨了Linux系统中信号的生命周期,从信号生成到处理函数执行完毕的全过程,并介绍了信号编程中的注意事项和常见应用实例。通过分析信号在进程中的注册、注销及处理过程,帮助读者理解如何高效利用信号进行进程间通信。 ... [详细]
  • 设计模式在软件开发中被广泛应用,但如果不当使用,可能会导致系统复杂性增加。例如,过度添加类可能导致类图难以理解,代码跟踪变得复杂。本文探讨如何在使用设计模式时保持系统的简洁和高效。 ... [详细]
  • CentOS 系统管理基础
    本文介绍了如何在 CentOS 中查询系统版本、内核版本、位数以及磁盘分区的相关知识。通过这些命令,用户可以快速了解系统的配置和磁盘结构。 ... [详细]
  • MongoDB的核心特性与架构解析
    本文深入探讨了MongoDB的核心特性,包括其强大的查询语言、灵活的文档模型以及高效的索引机制。此外,还详细介绍了MongoDB的体系结构,解释了其文档、集合和数据库的层次关系,并对比了MongoDB与传统关系型数据库(如MySQL)的逻辑结构。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • ArcXML:互联网空间数据交换的专用语言
    ArcXML是一种专为ArcIMS平台设计的数据交换协议,基于XML标准,用于在不同组件之间传输和描述地理空间数据。本文将详细介绍ArcXML的背景、用途及其与XML的关系。 ... [详细]
  • 精选多款高效实用软件及工具推荐
    本文介绍并推荐多款高效实用的软件和工具,涵盖系统优化、网络加速、多媒体处理等多个领域,并提供安全可靠的下载途径。 ... [详细]
  • 创邻科技成功举办Graph+X生态合作伙伴大会,30余家行业领军企业共聚杭州
    9月22日,创邻科技在杭州举办“Graph+X”生态合作伙伴大会,汇聚了超过30家行业头部企业的50多位企业家和技术领袖,共同探讨图技术的前沿应用与发展前景。 ... [详细]
  • Vue 开发与调试工具指南
    本文介绍了如何使用 Vue 调试工具,包括克隆仓库、安装依赖包、构建项目以及在 Chrome 浏览器中加载扩展的详细步骤。 ... [详细]
  • MySQL DATETIME 类型长度及使用指南
    本文详细介绍了 MySQL 中 DATETIME 类型的长度要求及其格式规范,并补充了其他常见数据类型的说明,帮助开发者更好地理解和使用这些类型。 ... [详细]
  • 远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ... [详细]
  • 本文详细介绍了C语言中的基本数据类型,包括整型、浮点型、字符型及其各自的子类型,并探讨了这些类型在不同编译环境下的表现。 ... [详细]
  • 本文详细介绍了虚拟专用网(Virtual Private Network, VPN)的概念及其通过公共网络(如互联网)构建临时且安全连接的技术特点。文章探讨了不同类型的隧道协议,包括第二层和第三层隧道协议,并提供了针对IPSec、GRE以及MPLS VPN的具体配置指导。 ... [详细]
author-avatar
0.0
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有