定製Android模擬器skin

來源:互聯網
上載者:User

Android模擬器提供了6個標準的skin供我們使用,分別對應HVGA(橫屏/豎屏)、QVGA(橫屏/豎屏)、WQVGA以及WVGA,我們只要在啟動模擬器時使用 -skin <Skin Name>參數就可以載入相應的皮膚。這不僅讓我們可以隨意的修改皮膚的外觀,更主要的是當我們基於Android開發新的產品時,可以根據新的硬體spec來設定模擬器的參數,包括解析度、按鍵布局、網路速度、網路延時等。現在就讓我們來看看定製Android模擬器skin的方法,我將以一個WVGA解析度的橫屏(Landscape)skin為例。

首先我們來看一下skin在SDK中的位置,預設的skin放在$ANDROID_HOME/platform/android-*/skins/目錄,我們要安裝新的skin,也只要簡單的把skin解壓到這個目錄就可以了。考慮到鍵盤按鍵數目眾多,每個都重新置放工作量很大,我將基於WVGA800 skin來修改,這個skin的裝置背景和鍵盤背景分別是兩張圖片,只要鍵盤背景大小不變,原先定義好的座標位置不需要修改就可以在新的skin裡使用。
第一步,在$ANDROID_HOME/platform/android-*/skins/目錄下建立一個名為WVGAMyConf的目錄,把HVGA目錄下的device.png、keyboard.png以及layout3個檔案複製過來,然後把HVGA-L目錄下除了layout外的所有檔案都複製過來,這樣我們定製所需要的資源便都有了,接下裡只要修改即可。
第二步,用GIMP(Windows下可以用Paint.NET)修改background_*.png,作適當的放大和剪下,使得螢幕地區正好為800*600。不要修改keyboard.png。
第三步,因為我們把裝置背景作了放大,在調整按鍵的位置之前,可以現在GIMP中看一下效果,適當的把home.png、powe.png、arrow_left.png等也放大一些。(註:此步驟不做亦可)
第四步,開始修改layout檔案。layout檔案的結構很容易理解,包含了背景(background)、顯示地區(display)和按鍵(buttons);接下來是鍵盤地區,包含了背景圖片(background)和鍵盤按鍵(buttons)的定義;第3部分是模擬器整體布局的設定,包含了視窗大小(width, height)、背景色(color)、螢幕方向(event),以及它所包含的裝置部分與鍵盤部分的位置;第4部分則可以修改模擬器的鍵盤配置(keyboard charmap),網路連結速度(network speed)和延時(network delay)。
讓我們從頭來看layout檔案。我們先把display的寬和高分別修改為800和480,x和y則填入裝置背景上顯示地區的左上方座標,這樣,模擬器的輸出解析度和位置就確定了。buttons部分我們暫時放一下,而鍵盤地區的background和buttons都不需要修改,所以我們來到了整體布局(layout)部分,根據之前修改裝置背景時掌握的資料,暫時先把視窗的寬和高設為1280*800,背景色保持不變,event的確切含義我也沒有查到,但是可以肯定它會影響螢幕輸出內容的方向,EV_SW:0:1則是我們能閱讀情況。隨後,設定device和keyboard兩部分在整個視窗的位置,酌情設定即可。最後,我們保持鍵盤配置為qwerty2,並且網路設定也保持預設值不變(稍後解釋這一點)。
這時,用./emulator -skin WVGAMyConf命令開啟模擬器,我們就可以看到一個比較正常的模擬器介面了,鍵盤也可以使用,顯示地區的位置也基本OK,只是裝置上的Home、Back等按鍵是完全錯位的。好吧,讓我們回過頭去修改device的buttons定位,這時,我們可能需要邊改邊試了,同時顯示地區的位置,鍵盤擺放的位置也可以作進一步的調整。
到這裡,一個WVGA的skin的基本上已經完成了,但是還留下了幾個問題。

eclipse中,如何使用WVGA skin
在 Run -> Run Configurations -> Target -> Emulator launch parameters 這裡可以選擇我們所要用的skin。
同時在”Additional Emulator Command Line Options” 裡面可以填入-scale   ,來縮放模擬器視窗。
而我們之前提到的網路速度和網路延時,也可以在這裡設定(在這裡設定顯然要好過在skin中設定)。


Question: 在定製skin過程中,我自己定製一個800 * 600的是沒有任何問題的,但是為什麼1280 * 800的就不能在前台顯示模擬器呢?是模擬器不支援的關係嗎?請各位高人指點迷津。


Annex:

Standard

Width

 

Height

DAR

Pixels

HVGA

480

*

320

3:2

153,600

QVGA

320

*

240

4:3

76,800

WQVGA400

400

*

240

5:3

96,000

WQVGA432

432

*

240

9:5

103,680

WVGA800

800

*

480

5:3

384,000

WVGA854

854

*

480

 

409,920

In addition to, we can manually set the screen size through AVD manager.

 

 

Reference:

  VGA:              Video Graphics Array

  QVGA:           Quarter Video Graphics Array

  QQVGA:        Quarter QVGA

  Sub-QVGA:   Sub Quarter QVGA

  CIF:                Common Intermediate Format

  QCIF:             Quarter Common Intermediate Format

  QQCIF:          Quarter QCIF

  Sub-QCIF:     Sub Quarter QCIF

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.