search 登录 注册
arrow_back返回列表
ID:16412
light_modestar
Lv.1 韶华一笑间
edit_note帖子 32
stars积分 1,228
event加入 2011-03-01
怀旧国机

恢复国机上不能全屏的自适屏软件的适应能力

schedule发表于 2011-09-12 15:41:00 visibility查看 292 chat_bubble回复 3
#1 楼主
自适屏的java软件可以自动检测屏幕的大小并且自己伸展至合适的尺寸,但是呢,在国机上,有些软件就“不老实”了,比如典型的的手机QQ2009,我的诺机6220c(240x320)运行是正常的,但是在联想i909(240x320)上,屏幕下面会有一道白条,实际分辨率约240x270左右,我换到联想i60(240x400)上,依然会有一道同样大小的白条,实际分辨率约240x340左右。那么我猜测,软件是自适屏的没错,但是国机厂商也许是因为某些因素把java的某一部分舍去了,从而导致软件无法正确识别手机屏幕的信息,所以运行时不是全屏。最近突发奇想,既然少了那么一部分,如果我加回那一部分,不就是全屏啦!下面介绍本次教程的重点知识。(纯粹个人理解,有误区还请口下留情。)在java中,自适屏的代码有两个,分别为:width与height----width表示自动检测屏幕宽height表示自动检测屏幕高-----自适屏的话,源代码则为(这个是手机QQ2009的,其他软件可能会不一样):----i = new dn(0, 0, super.getWidth(), super.getHeight());----在大爱上运行会少约50个高度,那么我们要把这个代码改成:----i = new dn(0, 0, super.getWidth(), super.getHeight() 50);----就可以恢复它的自适屏能力啦!要注意的是,不一样的机型,空白的大小也不一样,比如联想i60,可能要 60才能全屏。Java语言中,存在着加、减、乘、除等运算,分别用“ “、“-“、“*“、“/“来表示,这里只用到加运算,其在Halo中用“iadd”表示,举个例子:(24 6) / 5在Halo中会变成以下代码:----bipush 24bipush 6iaddiconst_5idiv----我以我个人理解的范围给大家解释一下,Halo中,不会存在直接的数字,前面都会有几个字母带着,数字在0到5之间,前面会加上“iconst_”的字符,6或以上,会加上“bipush ”的字符;两个数字要相加,先起几行,把数字全部表达出来,然后再起一行“iadd”,即是把上面的数字相加,要减啊、乘、除什么的,格式都一样,只是iadd变成与运算符对应的代码即可,现在对着上面的代码应该能理解了吧?PS:idiv是除的代码----还是在Halo中*作,用Halo打开jar,切换至类编辑器,全文查找“getwidth”或者getheight”,然后找到方法为<init>的结果,一个个的查看,如果在具体位置看到了另一个自适应代码的话,那么就找到了点击getheight的那行,在右边点“编辑(高级)”,回车另起一行,输入“bipush 50”,回车再起一行,输入“iadd”,确定,然后保存方法、编译、打包。这样,我们就在getheight的后面加上了50个高度,联想i60就把bipush 50改成bipush 60即可。你可以反编译查看一下,后面有加上那个数字吧?在手机上测试一下看看,全屏了吧?哈哈~~不同机型的空白大小也不同,一般Q屏是53,WQ屏是60,请根据自己的情况设置,如果还不能满屏,自己适当调试即可。

全部回复 (3)

ID:2100
light_modedark_modestarstar
Lv.1 韶华一笑间
2011-09-12 15:43:00 沙发
表情恢复国机上不能全屏的自适屏软件的适应能力 返回.发贴.设置.收藏 您有1条新信息! 真实每天送百元话费 快速赚钱成功实例! 免费送您赚钱信息! 新Mrp/Java手机抢购 送话费|购彩票|下载 12日领话费|网赚|赚币 标题:恢复国机上不能全屏的自适屏软件的适应能力-阅(3) 郝昊(中学生) 等级:二级 勋章: 普通会员 地区:交友 2011-9-12 15:41:00 自适屏的java软件可以自动检测屏幕的大小并且自己伸展至合适的尺寸,但是呢,在国机上,有些软件就“不老实”了,比如典型的的手机QQ2009,我的诺机6220c(240x320)运行是正常的,但是在联想i909(240x320)上,屏幕下面会有一道白条,实际分辨率约240x270左右,我换到联想i60(240x400)上,依然会有一道同样大小的白条,实际分辨率约240x340左右。那么我猜测,软件是自适屏的没错,但是国机厂商也许是因为某些因素把java的某一部分舍去了,从而导致软件无法正确识别手机屏幕的信息,所以运行时不是全屏。最近突发奇想,既然少了那么一部分,如果我加回那一部分,不就是全屏啦!下面介绍本次教程的重点知识。(纯粹个人理解,有误区还请口下留情。)在java中,自适屏的代码有两个,分别为:width与height----width表示自动检测屏幕宽height表示自动检测屏幕高-----自适屏的话,源代码则为(这个是手机QQ2009的,其他软件可能会不一样):----i = new dn(0, 0, super.getWidth(), super.getHeight());----在大爱上运行会少约50个高度,那么我们要把这个代码改成:----i = new dn(0, 0, super.getWidth(), super.getHeight() 50);----就可以恢复它的自适屏能力啦!要注意的是,不一样的机型,空白的大小也不一样,比如联想i60,可能要 60才能全屏。Java语言中,存在着加、减、乘、除等运算,分别用“ “、“-“、“*“、“/“来表示,这里只用到加运算,其在Halo中用“iadd”表示,举个例子:(24 6) / 5在Halo中会变成以下代码:----bipush 24bipush 6iaddiconst_5idiv----我以我个人理解的范围给大家解释一下,Halo中,不会存在直接的数字,前面都会有几个字母带着,数字在0到5之间,前面会加上“iconst_”的字符,6或以上,会加上“bipush ”的字符;两个数字要相加,先起几行,把数字全部表达出来,然后再起一行“iadd”,即是把上面的数字相加,要减啊、乘、除什么的,格式都一样,只是iadd变成与运算符对应的代码即可,现在对着上面的代码 全部-余下-下页 GO第1页/共2页 送(0) 扔(0) [举报] ------------ 楼主:博客.相册.帖子.回复 签名: ------------ 游戏|软件|主题|站内 激情视频小说图片 领话费|网赚|赚币 到智能下载区看看 快速回复.文件回贴 ------------ 当前没有回贴 ------------ 返回上级-返回首页
ID:35890
light_modestarstarstar
Lv.1 韶华一笑间
2011-09-13 07:59:00 板凳
返回 . 发贴 . 设置 . 收藏
您有 0 条新信息!
真实每天送百元话费
快速赚钱成功实例!
免费送您赚钱信息!
新Mrp/Java手机抢购
送话费 | 购彩票 | 下载
13日领 话费 | 网赚 | 赚币
标题:恢复国机上不能全屏的自适屏软件的适应能力-阅(41)
郝昊(中学生)
等级:二级 勋章:
普通会员 地区: 交友
2011-9-12 15:41:00
自适屏的java软件可以自动检测屏幕的大小并且自己伸展至合适的尺寸,但是呢,在国机上,有些软件就“不老实”了,比如典型的的手机QQ2009,我的诺机6220c(240x320)运行是正常的,但是在联想i909(240x320)上,屏幕下面会有一道白条,实际分辨率约240x270左右,我换到联想i60(240x400)上,依然会有一道同样大小的白条,实际分辨率约240x340左右。那么我猜测,软件是自适屏的没错,但是国机厂商也许是因为某些因素把java的某一部分舍去了,从而导致软件无法正确识别手机屏幕的信息,所以运行时不是全屏。最近突发奇想,既然少了那么一部分,如果我加回那一部分,不就是全屏啦!下面介绍本次教程的重点知识。(纯粹个人理解,有误区还请口下留情。)在java中,自适屏的代码有两个,分别为:width与height----width表示自动检测屏幕宽height表示自动检测屏幕高-----自适屏的话,源代码则为(这个是手机QQ2009的,其他软件可能会不一样):----i = new dn(0, 0, super.getWidth(), super.getHeight());----在大爱上运行会少约50个高度,那么我们要把这个代码改成:----i = new dn(0, 0, super.getWidth(), super.getHeight() 50);----就可以恢复它的自适屏能力啦!要注意的是,不一样的机型,空白的大小也不一样,比如联想i60,可能要 60才能全屏。Java语言中,存在着加、减、乘、除等运算,分别用“ “、“-“、“*“、“/“来表示,这里只用到加运算,其在Halo中用“iadd”表示,举个例子:(24 6) / 5在Halo中会变成以下代码:----bipush 24bipush 6iaddiconst_5idiv----我以我个人理解的范围给大家解释一下,Halo中,不会存在直接的数字,前面都会有几个字母带着,数字在0到5之间,前面会加上“iconst_”的字符,6或以上,会加上“bipush ”的字符;两个数字要相加,先起几行,把数字全部表达出来,然后再起一行“iadd”,即是把上面的数字相加,要减啊、乘、除什么的,格式都一样,只是iadd变成与运算符对应的代码即可,现在对着上面的代码应该能理解了吧?PS:idiv是除的代码----还是在Halo中*作,用Halo打开jar,切换至类编辑器,全文查找“getwidth”或者getheight”,然后找到方法为<init>的结果,一个个的查看,如果在具体位置看到了另一个自适应代码的话,那么就找到了点击getheight的那行,在右边点“编辑(高级)”,回车另起一行,输入“bipush 50”,回车再起一行,输入“iadd”,确定,然后保存方法、编译、打包。这样,我们就在getheight的后面加上了50个高度,联想i60就把bipush 50改成bipush 60即可。你可以反编译查看一下,后面有加上那个数字吧?在手机上测试一下看看,全屏了吧?哈哈~~不同机型的空白大小也不同,一般Q屏是53,WQ屏是60,请根据自己的情况设置,如果还不能满屏,自己适当调试即可。
送 (0) 扔 (0) [ 举报 ]
------------
楼主: 博客 . 相册 . 帖子 . 回复
签名:
------------

游戏 | 软件 | 主题 | 站内
激情视频小说图片
领话费 | 网赚 | 赚币
到 智能下载区 看看
登录 后才能回复