簡體   English   中英

適用於4.0,4.5和5.0設備的Android不同布局

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM