Android 螢幕適配

2021-07-06 09:58:45 字數 1809 閱讀 3960

本人,初級程式猿一枚。本著攻城獅的精神,最近研究了下 android 螢幕適配的問題 ,這裡做下總結。

一、為了解決螢幕適配的問題,一般採用以下幾種辦法:

1.使用dp布局,盡量少使用px,文書處理的話用sp

2.如果使用切圖的話,要注意存放切圖的位置,hdpi,mdpi,xhdpi,xxhdpi。還有selector等檔案如果有用到切圖的時候也注意存放位置昂~~~~

3.自定義view

4.多使用match_parent和weight屬性。

5.使用百分比 布局。

6. 在不同的dimen中設定不同的值

7.scrollview和listview(recyclerview)也是不錯的選擇

8.其實我也不知道寫什麼,呵呵,那麼這個就寫做乙個有情懷的android攻城獅,不要為了適配而適配,要站在使用者的角度去思考問題,怎麼流暢,怎麼好用,然後去選擇方式去適配。

二、首先解釋下3個概念:

2.dip或dp(與密度無關的畫素)。這個和裝置硬體有關,為了支援wvga、hvga和qvga 5進製空間推薦使用這個。一種基於螢幕密度的抽象單位。設定一些view的寬高可以用這個,一般情況下,在不同解析度,都不會有縮放的感覺。如果用px的話,320px佔滿hvga的寬度,到wvga上就只能佔一半不到的螢幕了,那一定不是你想要的。 

3.sp(與刻度無關的畫素)放大畫素– 主要處理字型的大小。

dp與px換算公式:

pixs =dips * (densitydpi/160). 

dips=(pixs*160)/densitydpi

dp與px轉換的方法:

public static int dip2px(context context, float dipvalue)

public static int px2dip(context context, float pxvalue)

三、個人的一些總結

android中提供了三個存放的資料夾,分別為hdpi,mdpi,ldpi,google文件上說,andriod系統會根據手機螢幕的大小及螢幕密度去選擇不同資料夾下的資源,以此來實現在不同大小不同螢幕解析度下適配的問題。

當螢幕density=240時,使用hdpi 標籤的資源 當螢幕density=160時,使用mdpi標籤的資源 當螢幕density=120時,使用ldpi標籤的資源。

各個資料夾的使用順序:在乙個低解析度的手機上,android就會選擇ldpi資料夾下的,但是如果沒有在ldpi的資料夾下找見相關的資源檔案,android系統會首先從hdpi資料夾中選擇檔案,然後對資源進行縮放處理,顯示在螢幕上;如果hdpi資料夾下也沒有的話,會在預設的drawable資料夾中尋找。

總之,為了適屏,android會在高解析度資料夾下讀取,縮小,從低解析度資料夾下讀取,進行放大處理後 再適屏。

四、百分比適屏

這個不用說了,適屏肯定好用。根據本人寫h5的經驗,web的大小可以隨意改變,適屏用的就是百分比。所以這個用在android 肯定好用多了 ,o(∩_∩)o~

五、設定dimen

<?xml version="1.0" encoding="utf-8"?>  

120dip

220dip

<?xml version="1.0" encoding="utf-8"?>

80dip

六、manifest的配置

要在工程的androidmanifest.xml檔案中,加入supports-screens節點,具體的內容如下:

這樣的話,當前的android程式就支援了多種解析度,那麼就可以得到正確的物理尺寸了

android螢幕適配

1 配置android應用程式適配在不同的手機上,需要在androidmanifest.xml檔案的manifest標籤中新增子元素 1 2 3 4 5 6 7 8 9 10 manifestxmlns android supports screens android smallscreens tr...

Android螢幕適配

在sdk中的幫助文件中。develpe training best practices supporting multiple screens 這裡有多屏適配的介紹。現做簡單記錄。screen size small 至少 426dp x 320dp normal 至少 470dp x 320dp l...

android螢幕適配

ui在不同的螢幕畫素或大小中顯示效果可能會不同 1 建議使用盡量使用線性布局和相對布局,基本上不會產生螢幕大小不適應的問題 2 設定控制項寬高的時候使用單位dip dp 是根據當前裝置大小比例計算出來的 3 文字設定盡量使用sp單位 4 盡量不使用px設定大小 畫素px和dip相互轉換工具,實現兩種...