2012-09-07 82 views
3

根據本文檔(DeclaringTabletLayouts)中所寫的說明,舊組已被棄用(小型,正常,大型和xlarge),這就是爲什麼我們必須遷移到Android 3.2中定義的新技術。Android 3.2(API級別13)的屏幕支持

注:與Android 3.2(API級13)開始,這些尺寸組 淘汰,用於管理上的可用屏幕寬度基於 屏幕尺寸的新技術的。如果您正在開發Android 3.2 及更高版本,請參閱爲Android 3.2聲明Tablet Layouts以獲取更多 信息。

我們如何使用新技術爲小屏幕與大屏幕進行不同佈局?我試過了,並沒有找到解決方案,我想爲每個設置不同的佈局,並且該注意表示已棄用。

舊方式分類:

xlarge screens are at least 960dp x 720dp 
large screens are at least 640dp x 480dp 
normal screens are at least 470dp x 320dp 
small screens are at least 426dp x 320dp 

新方法:

320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc). 
480dp: a tweener tablet like the Streak (480x800 mdpi). 
600dp: a 7」 tablet (600x1024 mdpi). 
720dp: a 10」 tablet (720x1280 mdpi, 800x1280 mdpi, etc). 

res/layout-sw320dp/main_activity.xml # For handsets (smaller than 600dp available width) 
res/layout-sw600dp/main_activity.xml # For 7」 tablets (600dp wide and bigger) 
res/layout-sw720dp/main_activity.xml # For 10」 tablets (720dp wide and bigger) 
+0

如果您認爲他們幫助解決了您的問題,您應該接受答案。有些問題很難,並且沒有完美的解決方案,但即使在這種情況下,答案也可能有用。 – nalply

回答

2

它在文檔中很好的解釋,你可以通過值文件創建layout.xml,並創建別名指向使用替代佈局。您可以創建值large,values-sw-600等,並指向要爲該特定類型選擇的佈局別名。

<?xml version="1.0" encoding="utf-8"?> 
    <resources> 
<item type="layout" name="login">@layout/login_large 
</item> 

</resources> 

參考http://developer.android.com/training/multiscreen/screensizes.html,因爲它很好地解釋瞭如何開發的最佳途徑多個屏幕。

+0

謝謝,但你必須使用舊的模型分類(沒有sw320dp格式),它說:「因此,你還應該使用抽象的大小箱(小,正常,大和xlarge)與早期版本兼容」。在正常(426dp x 320dp)和大(640dp x 480dp)f.e.之間沒有任何辦法。用新技術。其他主題是Android 3.2或更高版本中不存在該分辨率的很多設備。 –

+0

你看完了嗎? - 您可以通過將所有內容放在佈局文件中並提供別名來使用哪種佈局來避免這種情況,即對於大型sw-600,您可以通過爲兩者創建值文件並指向相同的佈局來使用相同的佈局 –

+0

是的,但大的是舊的模型分類previus到Android 3.2 –