適配不同解析度的Android手機的處理方法

2021-06-03 18:51:04 字數 1317 閱讀 4178

在之前的版本中,只有乙個drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三個,這三個主要是為了支援多解析度。

drawable- hdpi、drawable- mdpi、drawable-ldpi的區別:

(1)drawable-hdpi裡面存放高解析度的,如wvga (480×800),fwvga (480×854)

(2)drawable-mdpi裡面存放中等解析度的,如hvga (320×480)

(3)drawable-ldpi裡面存放低解析度的,如qvga (240×320)

系統會根據機器的解析度來分別到這幾個資料夾裡面去找對應的。

在開發程式時為了相容不同平台不同螢幕,建議各自資料夾根據需求均存放不同版本。

要讓程式介面保持乙個方向,不隨手機方向轉動而變化的處理辦法:

在androidmanifest.xml裡面配置一下就可以了。加入這一行android:screenorientation=」landscape」。

例如(landscape是橫向,portrait是縱向):

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

每個activity都有這個屬性screenorientation,每個activity都需要設定,可以設定為豎屏(portrait),也可以設定為無重力感應(nosensor)。另外,android中每次螢幕的切換動會重啟activity,所以應該在activity銷毀前儲存當前活動的狀態,在activity再次create的時候載入配置,那樣,進行中的遊戲就不會自動重啟了!

有的程式適合從豎屏切換到橫屏,或者反過來,這個時候怎麼辦呢?可以在配置activity的地方進行如下的配置android:screenorientation=」portrait」。這樣就可以保證是豎屏總是豎屏了,或者landscape橫向。

而有的程式是適合橫豎屏切換的。如何處理呢?首先要在配置activity的時候進行如下的配置:android:configchanges=」keyboardhidden|orientation」,另外需要重寫activity的onconfigurationchanged方法。實現方式如下,不需要做太多的內容:

@override

public void onconfigurationchanged(configuration newconfig) else if (this.getresources().getconfiguration().orientation == configuration.orientation_portrait)

}

Android不同解析度適配

適配可以分為 layout land 橫屏布局 layout port 豎屏布局 layout 1920x1080 或者layout land 1920x1080 layout port 1920x1080 注 如果適配的布局檔案中,沒有當前機型,當前機型會選擇相差最小的解析度的配置檔案進行適配 l...

Android 適配不同 解析度和尺寸

如題,最近做乙個裝置介面,為了能夠適應不同的解析度 下面分享實現方法 首先 你需要在 androidmanifest.xml 檔案的元素如下新增子元素 supports screens android largescreens true android normalscreens true andr...

android 不同手機解析度適配問題

在使用單位時,如果沒有特殊情況,一律採用dip和sp 字型大小單位 這兩個單位。因為這兩個單位是與裝置解析度無關的,能夠解決在不同解析度的裝置上顯示效果不同的問題。另外,在編碼中定義控制項的margin或padding屬性時,sdk裡面並沒有提供dip單位的api設定介面,而是提供了預設的px設定。...