Android螢幕自適應解析

2021-08-25 13:00:11 字數 1107 閱讀 3504

先了解下api中的工具類

android.util.displaymetrics:最主要的顯示引數。

獲得displaymetrics可以通過2種方式:

1.在activity中使用activity.getresources().getdisplaymetrics()

2.新建乙個例項,通過display類的工具方法輸出到新例項中

displaymetrics metrics = new displaymetrics();

activity.getwindowmanager().getdefaultdisplay().getmetrics(metrics);

注意displaymetris並沒有重寫equals方法,所以新舊例項equals是不等的。

通過display的常量,可知密度共有三種:

[list]

[*]density_high

[*]density_medium

[*]density_low

[/list]

並且通過系統的源**:

return systemproperties.getint("qemu.sf.lcd_density",

systemproperties.getint("ro.sf.lcd_density", density_default));

可知系統獲取環境變數"ro.sf.lcd_density"的值為實際裝置的密度值,預設為常量density_default,進一步產看常量density_default的定義:

density_default = density_medium

由此可可知密度獲取的流程,且預設值為density_medium!

displaymetrics主要屬性:

[list]

[*]density_high

[*]density_medium

[*]density_low

[/list]

res資料夾下面會有如下幾個子目錄

├─drawable

├─drawable-hdpi

├─drawable-ldpi

├─drawable-mdpi

├─drawable-nodpi

android 螢幕自適應

細說 layout weight 目前最為推薦的 android多螢幕自適應解決方案。該屬性的作用是決定控制項在其父布局中的顯示權重,一般用於線性布局中。其值越小,則對應的layout width或layout height的優先順序就越高,一般橫向布局中,決定的是 layout width 的優先...

android 自適應 多螢幕支援

1 螢幕相關概念 1.1解析度 是指螢幕上有橫豎各有多少個畫素 1.2螢幕尺寸 指的是手機實際的物理尺寸,比如常用的2.8英吋,3.2英吋,3.5英吋,3.7英吋 android將螢幕大小分為四個級別 small,normal,large,and extra large 1.3螢幕密度 每英吋畫素數...

android 自適應 多螢幕支援

android 自適應 多螢幕支援 1 螢幕相關概念 1.1解析度 是指螢幕上有橫豎各有多少個畫素 1.2螢幕尺寸 手機螢幕尺寸指的是手機實際的物理尺寸,即螢幕的實際大小。android將螢幕大小分為四個級別 small,normal,large,and extra large 1.3螢幕密度dpi...