我們做開的時候,通常會遇到以下解析度
通常的分辨問題,其實google工程師已經幫我們解決了。因為在android下我們有dip,和sp兩個單位。這不同於一般的畫素點。而是根據
不同解析度進行比例適配後的單位。sp也是經過適配後的單位。所以只要用這兩個單位,就幾乎不存在適配問題。使用dp和sp,系統
會根據螢幕密度的變化自動進行轉換。 所以通常xml配置的控制項不存在適配問題。
但有些情況下, 我們需要在**裡面動態地新增控制項,這時控制項的大小也只能通過**來設定,而通過**裝置只能設定其畫素大小。
當這個用**設定的控制項就存在適配問題。在小解析度下顯得特別大,在大解析度下顯得特別小。於是就引出了下面的解決方案。下面
是乙個工具類:
public class densityutil
/**
* 根據手機的解析度從 px(畫素) 的單位 轉成為 dp
*/
public static int px2dip(context context, float pxvalue)
}
在使用的時候,只要將畫素值通過這個工具類轉換一下就行了。
例如,我想把iv放在linearlayout的30dip的位置,就需要將30dip轉換成pix。
這樣,在不同的解析度下,顯示的都是30dip,至於是多少個pix,鬼才去管它呢,讓它屎去吧,哈哈。
適配問題,就這樣解決了!
關於Android裝置螢幕大小及密度的系統引數類
功能 獲取android裝置螢幕寬 高 dpi密度及橫豎屏等引數 系統引數類 author wader public class mysystemparams 獲取例項 param activity return public static mysystemparams getinstance ac...
關於 android螢幕適配
一 關於布局適配 1 不要使用絕對布局 2 盡量使用match parent 而不是fill parent 3 能夠使用權重的地方盡量使用權重 android layout weight 4 如果是純色背景,盡量使用 android 的shape 自定義。5 如果需要在特定解析度下適配,可以在 re...
android獲取裝置螢幕大小的方法
displaymetrics dm new displaymetrics getwindowmanager getdefaultdisplay getmetrics dm system.out println heigth dm.heightpixels system.out println wid...