[英]Android different layouts for 4.0, 4.5 and 5.0 devices
我需要設備4.0,4.5和5.0的不同布局。
但我使用以下方法檢查屏幕尺寸寬度
Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics ();
display.getMetrics(outMetrics);
float density = getResources().getDisplayMetrics().density;
float dpWidth = outMetrics.widthPixels / density;
而且
Sony Xperia Sp I have W: 360.0 H: 592.0
Sony Xperia Z I have the same result W: 360.0 H: 592.0
但屏幕有不同的尺寸和布局看起來真的不同。
如何正確地為此設備和其他設備創建不同的布局?
編輯:
在這種情況下,布局看起來非常不同,因為其中一部手機在設備設置中更改了FONT SIZE .. GG好玩的測試者:)
大家好。 投票。
Android使用密度無關像素(dp),因此應該很容易適應不同的大小。 在您的res文件夾中創建layout-w320p等子文件夾,並在該文件夾中自定義您的布局以適應不同的屏幕尺寸。
始終嘗試使用RelativeLayout而不是FrameLayout並相對於設備定位項目。 項目大小應該是wrap_content,以便它自動縮小到設備。
您可以根據精確的寬度(以像素為單位)提供不同的布局,因為您已經了解它
例子
res/layout/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)
res/layout/main_activity.xml # For handsets (smaller than 600dp available width)
res/layout-w600dp/main_activity.xml # Multi-pane (any screen with 600dp available width or more)
閱讀有關支持多個屏幕的官方Android文檔
索尼Xperia Sp我有W:360.0 H:592.0Sony Xperia Sp我有W:360.0 H:592.0
Sony Xperia ZI具有相同的結果W:360.0 H:592.0。
這不是屏幕尺寸..這完全取決於您的設備屏幕分辨率。
如果保持此屏幕分辨率,則應創建不同的布局或值文件
value-sw320dp-hdpi value-sw320dp-xhdpi value-sw320dp-xxhdpi
提拉 - sw320dp,華電國際
提拉 - sw320dp-xhdpi提拉 - sw320dp-xxhdpi
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.