Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 471|回复: 0

开发交流:Android模拟器尺寸随意改

[复制链接]

该用户从未签到

发表于 2011-10-24 10:26:46 | 显示全部楼层 |阅读模式
如果开发人员想在Android开源手机操作系统中进行一些修改的话,需要使用模拟器来进行相应的操作。我们51CTO也在相关文章中向大家介绍过Android模拟器具体作用。那么今天大家可以通过对Android模拟器尺寸的大小修改方法进一步对模拟器有一个深入的了解。

Android模拟器提供了4个标准的skin供我们使用,分别对应HVGA(横屏/竖屏)和QVGA(横屏/竖屏),我们只要在启动模拟器时使用 -skin <Skin Name>参数就可以载入相应的皮肤。这不仅让我们可以随意的修改皮肤的外观,更主要的是当我们基于Android开发新的产品时,可以根据新的硬件spec来设置模拟器的参数,包括分辨率、按键布局、网络速度、网络延时等。现在就让我们来看看定制Android模拟器skin的方法,我将以一个 WVGA分辨率的横屏(Landscape)skin为例。
首先我们来看一下skin在SDK中的位置,默认的skin放在$ANDROID_HOME/tools/lib/images/skins/目录,我们要安装新的skin,也只要简单的把skin解压到这个目录就可以了。考虑到键盘按键数目众多,每个都重新定位工作量很大,我将基于HVGA skin来修改,这个skin的设备背景和键盘背景分别是两张图片,只要键盘背景大小不变,原先定义好的坐标位置不需要修改就可以在新的skin里使用。
Android模拟器尺寸大小修改的具体步骤:
第一步,在$ANDROID_HOME/tools/lib/images/skins/目录下新建一个名为WVGA的目录,把HVGA目录下的 device.png、keyboard.png以及layout3个文件复制过来,然后把HVGA-L目录下除了background.png和 layout外的所有文件都复制过来,这样我们定制所需要的资源便都有了,接下里只要修改即可。
第二步,用GIMP(Windows下可以用Paint.NET)修改device.png,逆时针方向旋转90度,并作适当的放大和剪切,使得屏幕区域正好为800*600。不要修改keyboard.png。
第三步,因为我们把设备背景作了放大,在调整按键的位置之前,可以现在GIMP中看一下效果,适当的把home.png、powe.png、arrow_left.png等也放大一些。
第四步,开始修改layout文件。layout文件的结构很容易理解,首先是device部分,包含了背景(background)、显示区域 (display)和按键(buttons);接下来是键盘区域,包含了背景图片(background)和键盘按键(buttons)的定义;第3部分是模拟器整体布局的设定,包含了窗口大小(width, height)、背景色(color)、屏幕方向(event),以及它所包含的设备部分与键盘部分的位置;第4部分则可以修改模拟器的键盘布局 (keyboard charmap),网络链接速度(network speed)和延时(network delay)。
让我们从头来看layout文件。我们先把display的宽和高分别修改为800和480,x和y则填入设备背景上显示区域的左上角坐标,这样,模拟器的输出分辨率和位置就确定了。device的buttons部分我们暂时放一下,而键盘区域的background和buttons都不需要修改,所以我们来到了整体布局(layout)部分,根据之前修改设备背景时掌握的数据,暂时先把窗口的宽和高设为1280*800,背景色保持不变,event的确切含义我也没有查到,但是可以肯定它会影响屏幕输出内容的方向,EV_SW:0:1则是我们能阅读情况。 随后,设置device和keyboard两部分在整个窗口的位置,酌情设定即可。最后,我们保持键盘布局为qwerty2,并且网络设定也保持默认值不变(稍后解释这一点)。
这时,用./emulator -skin WVGA命令打开模拟器,我们就可以看到一个比较正常的模拟器界面了,键盘也可以使用,显示区域的位置也基本OK,只是设备上的Home、Back等按键是完全错位的。好吧,让我们回过头去修改device的buttons定位,这时,我们可能需要边改边试了,同时显示区域的位置,键盘摆放的位置也可以作进一步的调整。
到这里,一个WVGA的skin的基本上已经完成了,但是关于Android模拟器尺寸的修改还留下了几个问题。
1、如果在笔记本(1280*800分辨率)上用,skin的显示区域太大,键盘部分可能显示不全,给使用带来不便
模拟器还会报出警告: emulator window was out of view and was recentred
我们可以通过-scale --选项来解决这个问题,针对我们这个WVGA skin,用./emulator -skin WVGA -scale 0.9来启动模拟器就没问题了
2、在eclipse中,如何使用WVGA skin
在 Run -> Run Configurations -> Target -> Emulator launch parameters 这里可以选择我们所要用的skin。
同时在”Additional Emulator Command Line Options” 里面可以填入-scale --,来缩放模拟器窗口。
不仅是Android模拟器尺寸的修改,我们之前提到的网络速度和网络延时,也可以在这里设置(在这里设置显然要好过在skin中设置)。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-11 05:02 , Processed in 0.351177 second(s), 34 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表