当前位置:首页 > 编程开发

Android模拟器skin制定方式详解

webgou16年前 (2010-08-08)编程开发163

Android手 机操作系统可以通过在模拟器中的一些相关操作来进行相应的修改已满足大家的需求。在这里就先为大家详细介绍一下有关Android模拟器的具体概念。 Android模拟器skin总共有四个标准的制定方式,分别对应HVGA(横屏/竖屏)和QVGA(横屏/竖屏),我们只要在启动模拟器时使用 -skin <Skin Name>参数就可以载入相应的皮肤。

这不仅让我们可以随意的修改皮肤的外观,更主要的是当我们基于Android开发新的产品时,可以根据新的硬件spec来设置模拟器的参数,包括分 辨率、按键布局、网络速度、网络延时等。现在就让我们来看看定制Android模拟器skin的方法,我将以一个WVGA分辨率的横屏 (Landscape)skin为例。

首先我们来看一下Android模拟器skin在SDK中的位置,默认的skin放在$ANDROID_HOME/tools/lib /images/skins/目录,我们要安装新的skin,也只要简单的把skin解压到这个目录就可以了。考虑到键盘按键数目众多,每个都重新定位工 作量很大,我将基于HVGA skin来修改,这个skin的设备背景和键盘背景分别是两张图片,只要键盘背景大小不变,原先定义好的坐标位置不需要修改就可以在新的skin里使用。

第一步,在$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的Android模拟器skin的基本上已经完成了,但是还留下了几个问题。

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中设置)。

扫描二维码推送至手机访问。

版权声明:本文由知了博客发布,如需转载请注明出处。

本文链接:https://www.webgou.info/?id=229

标签: android界面
分享给朋友:

“Android模拟器skin制定方式详解” 的相关文章

主流 AI 代码助手功能分析(2026年3月)

 一、市场概览AI 代码助手已从"补全工具"进化为"编程代理",核心趋势:从补全到 Agent:能自主完成完整功能、跑测试、提交 PRIDE 深度整合:Cursor、Windsurf 直接 fork VSCode多模型路由:GPT-4o、Claude…

Android界面互调具体应用方式解析

在Android操作系统中,对于界面的一些操作是用户需要掌握的最基础的知识点。我们可以通过这篇文章对Android界面互调的方法介绍,来初步了解一下再Android系统中对于界面的一些应用技巧。...…

UTF-8 and Unicode FAQ

 2000年2月这篇文章说明了在 POSIX 系统 (Linux,Unix) 上使用 Unicode/UTF-8 所需要的信息. 在将来不远的几年里, Unicode 已经很接近于取代 ASCII 与 Latin-1 编码的位置了. 它不仅允许你处理处理事实上存在于地球上的任何语言文…

Windows CE 内存管理

内存管理        如果你在写Windows CE 程序中遇到的最重要的问题,那一定是内存问题。一个WinCE 系统可能只有4MB 的RAM,这相对于个人电脑来说是十分少的,因为个人电脑的标准配置已经到了128MB 甚至更多。事实上,运…

多线程中生成随机数序列重复问题的解决方法

使用过随机数的程序员都知道在程序中并不能够实现的真正的完全的随机数函数。随机数函数产生的是通过公式计算出来的一系列伪随机数,这个公式会采用一个种子数计算出一个数,而该数将成为产生下一个数的种子数。基于产生随机数的原理,两次调用随机数后产生的随机数序列将是一样的,显然,这不是我们的期望的结果。....…

WinCE流设备驱动简介及GPIO驱动的实现

作者:ARM-WinCE 流设备驱动实际上就是导出标准的流接口函数的驱动,这是文档上面的定义。在WinCE中,所有的流设备都导出流设备接口,这样WinCE中的Device Manager可以加载和管理这些流设备驱动。...…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。