2012-06-04 67 views
1

我開始在某些Android模型上測試我的應用程序時遇到了一個奇怪的行爲,我想查看其他人是否找到相同的問題以及人們推薦的解決方法。Android中的7in平板電腦 - 屏幕大小限定符

下面是詳細信息:

應用程序有完整的數位板的支持,這也是引發與預選賽的佈局。 xlarge設備會在屏幕上顯示多個片段的平板模式。

對於較新的Android版本,還有一些值設置了使用sw600dp限定符以及xlarge之一更改流的UI的變量。

問題:

現在我測試的的Kindle Fire和RIM黑莓Playbook也想支持即將推出的谷歌Nexus平板電腦(或任何它會被稱爲)和其他7英寸外形設備。

劇本以及火都有7英寸的屏幕和1024x600的屏幕分辨率。

但是,劇本似乎欺騙Android認爲它是一個xlarge設備,而火沒有這樣做。

平板電腦以及標準用戶界面都可以正常工作,但imho平板電腦模式更好,可以在7英寸設備上使用。但是,如果我將佈局推入大限定符中,以便在火災中獲得該平板模式,我也會得到它在筆記或其他相當小的設備上。

對於Android 4x,我可以使用sw600dp和其他限定符,但是舊版本呢?我假設一臺7英寸的設備應該表現得像一臺平板電腦,但是例如注..

這種情況下的最佳做法是什麼?我對playbook報告xlarge的觀察是否正確?

回答

3

但是,劇本似乎欺騙Android認爲它是一個Xlarge設備,而火沒有這樣做。

設備製造商是誰選擇哪一個設備進入大小和密度桶。對於像RIM和亞馬遜這樣的製造商來說,這個數字增加了一倍,因爲他們不需要Play商店,因此不必遵守Play商店規定的任何特定兼容性要求,因此歡迎他們在Google的指導下大拇指。

此方案的最佳做法是什麼?

我不能告訴你「最好」。

但是,如果有要爲其重寫某些佈局使用特定尺寸的特定設備,下面是我想嘗試(假設你將使用正常情況下的佈局被稱爲R.layout.main):

步驟1:創建res/layout/main_funky.xml作爲符號鏈接或硬鏈接到res/layout-xlarge/main.xml(同樣適用於-land等)。

步驟#2:在你的Java代碼,不管你指R.layout.main(例如,FragmentonCreateView()),決定R.layout.mainR.layout.main_funky取決於android.os.Build數據通過模型檢測這些古怪設備是否加載。由於R.layout.main_funky是您的普通main佈局之一,所以取決於小部件的所有代碼都不應受此選擇的影響。

第3步:在您的特定情況下,加MMPD(Maven的魔仙塵)至步驟#1和#2 ... :-)

是我與劇本報告XLARGE正確的意見?

我買了一本手冊,確定RIM的分銷模式是......不愉快的,並且做了最低限度的書本章節。我還沒有試圖看看它是否是-large-xlarge或其他東西。

這就是說,NOOK平板電腦IIRC遭受這種(聲稱是-xlarge而不是-large)。

我希望谷歌Nexus平板電腦,如果這樣的事情來實現,正確兌現大小桶,再加上運行一個新的足夠的Android版本-sw600dp和親會工作。

相關問題