歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android 單套drawable下的屏幕自適應

自適應問題。一個公式 px=dip*(density/160);(density/160)在Android系統中對應 DisplayMetrics.density在一固定的手機上它是一個常數,0.75,1,1.5。等。有了這個常數用dip做單位在不同手機上就有不同的px了。這就是縮放原理。

drawable-hdpi、drawable-mdpi、drawable-ldpi中的圖片是自動選擇的。但是如果對應的文件夾下沒有所需的圖片它會在其他兩個文件夾下尋找,找到了按density縮放。

元素坐標:
圖片坐標,和觸屏事件坐標。 都用相對坐標。

自適應原則:圖片縮放自適應,位置用相對位置(單位也用dip)。
所有的機型寬都是相等的dip數,高不一定是相等的dip數。

240x320 density=120 320dipx426.6dip
320x480 density=160 320dipx480dip
480x800 density=240 320dipx533.3dip
480x854 density=240 320dipx569.33dip

dip=px*160/density
美工的設計圖片都是按480*800分辨率設計的
那麼density應該是240

那麼依據圖片的分辨率可以計算出dip,而dip就是屏幕的物理尺寸
所以定義好dip後,基本上自適應無問題了

對於我們現在只做單套皮膚來講,在做布局的時候不能用wrap_content
大多數界面直接定義dip
避免圖片在不同分辨率下失真

Copyright © Linux教程網 All Rights Reserved