J2ME编程中的横竖屏切换知识小结

原创 2010年07月18日 11:02:00

J2ME编程中的横竖屏切换知识小结

爪哇米工作室 陈跃峰

出自:http://blog.csdn.net/mailbomb

注:转载请注明出处

 

随着手机的功能越来越丰富,支持横竖屏切换的手机越来越多,在手机软件开发中也必须要处理这个功能了。下面对于使用J2ME技术进行编程时对于横竖屏(转屏)切换时的相关知识进行一下小结。

1、如何判断横竖屏切换

横竖屏切换由手机系统自动完成的,在J2ME中只能检测到这种变换,判断横竖屏切换的方法有2种:

A)线程中每次检测法(轮询方式)

这种方式是在程序的线程中每隔一定的时间间隔,就获得一次屏幕的宽度和高度,然后判断宽度和高度是否变化,如果宽度和高度和已有的宽度和高度相比发生了变化,至于是变化成横屏还是竖屏则只需要比较宽高就可以实现。在判断到横竖屏切换时,执行逻辑代码即可。

使用这种方式由于每次线程循环都需要检测,所以执行效率不高,但是由于一些转屏手机不支持sizeChanged的方法回调,所以使用这种方式的通用性是最高的,是经常被使用的方法。

B)sizeChanged(中断方式)

这种方式是指如果转屏手机对于MIDP支持比较规范,则当横竖屏切换时会自动调用Canvas类中的sizeChanged方法,这样就需要在Canvas的子类中覆盖该方法即可,在该方法内部书写横竖屏切换的逻辑处理代码即可。

使用这种方式由于是系统自动调用,所以执行效率很好,但是由于部分手机实现的不规范,所以通用性没有第一种方式高。

说明:高级用户界面自动切换,不需要书写处理的代码。

2、如何处理横竖屏切换

在检测到横竖屏切换以后,就需要对于横竖屏切换进行处理了,处理的方式一般有也有两种:

A)简单提示法

这种处理方式时指只实现一种屏幕模式下的逻辑,而在另外一种屏幕方式下显示提示。例如只实现竖屏模式的界面,在横屏模式下,只出现提示:“请在竖屏模式下使用本程序”。

使用这种方式程序实现比较简单,只需要实现一套界面即可,适合于比较简单的程序。

B)实现两套UI

这种处理方式时指在一个程序中实现两套界面:一套横屏一套竖屏。可以在程序中设置一个screenType的参数,在每个节目的绘制方法中根据该参数判断是横屏还是竖屏,然后执行不同的绘制代码即可。

使用这种方式程序实现比较友好,但是程序开发和测试的工作量都要稍微大一点,而且横竖屏切换时数据的变换也比较麻烦。

3、其它说明

在实现横竖屏切换时,有些知识会帮助你实现一些很实用的功能:

A)Nokia手机上禁止横竖屏切换:

S60 5th 及以上版本中,可以通过在jadmanifest文件中通过指定如下属性来指定程序运行时的屏幕类型:

竖屏:Nokia-MIDlet-App-Orientationportrait

横屏:Nokia-MIDlet-App-Orientationlandscape

 

 

不足之处希望大家积极指正、交流和完善!

android横竖屏切换代码

  • 2014年05月07日 15:21
  • 50KB
  • 下载

Android Studio 导入 Vitamio及横竖屏切换

Vitamio官方:https://www.vitamio.org/ GitHub:https://github.com/yixia/VitamioBundle Vitamio 能够流畅播放72...
  • phyooos
  • phyooos
  • 2016-04-09 01:06:02
  • 2279

Android横竖屏切换后,重新设置activity布局,ViewPager上无法正确显示Fragment

如题, @Override     public void onConfigurationChanged(Configuration newConfig) {         clearnSurfa...
  • huyunfu0957
  • huyunfu0957
  • 2017-01-08 18:08:42
  • 432

Android横竖屏切换遇到的问题

1.横竖屏切换时,要特别注意生命周期的调用 a、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次 b、设置Act...
  • chenhande1990chenhan
  • chenhande1990chenhan
  • 2017-01-13 16:43:24
  • 479

Android横竖屏切换引起问题的小结

Android横竖屏切换引起问题的小结终于下定决心好好写(抄)写(抄)属于自己的博客了,以前总是懒惰,总是不肯行动,要知道这个世界永远不会为你而改变,我们只有改变自己。碎语少说,言归正传。关于Andr...
  • zhoup324
  • zhoup324
  • 2016-11-16 02:25:41
  • 1459

android横竖屏切换

  • 2016年12月30日 21:13
  • 82KB
  • 下载

Android视频播放和横竖屏切换

最近做了一个项目,里面用到了视频播放这一块,当时想考虑Vitamio,demo也做了出来,但是后来发现它是商业收费的,并且收费相当可观,所以只能放弃了。然后找到了ijkPlayer,功能也很强大,最终...
  • lkjfyy
  • lkjfyy
  • 2017-06-03 17:11:09
  • 1584

dialog横竖屏切换不适配

dialog横竖屏切换不适配 工作中有一个出现个问题:横竖屏切换要求dialog宽填充屏幕 因为横竖屏切换会重新走activity的生命周期,所以可以在创建一个类继承activityprivate...
  • chrislanbo
  • chrislanbo
  • 2016-05-03 17:50:19
  • 2238

Android APP 禁用横竖屏切换

默认情况下,Android APP的界面会随着手机方向的改变而改变,当手机处于竖屏状态,APP的界面也处于竖屏状态,而当手机处于横屏状态,APP也会自动切换到横屏状态。一般情况下APP的界面都是为竖屏...
  • sdjianfei
  • sdjianfei
  • 2016-06-03 10:20:53
  • 1908

android:configChanges属性 和 监听横竖屏切换

对android:configChanges属性,一般认为有以下几点: 1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一...
  • u014463713
  • u014463713
  • 2014-04-03 14:02:08
  • 2446
收藏助手
不良信息举报
您举报文章:J2ME编程中的横竖屏切换知识小结
举报原因:
原因补充:

(最多只允许输入30个字)