车机屏幕适配方案总结
基本概念:
1、px
像素單位,構成圖片的最小單位,1px相當于屏幕的一個物理像素點。
2、分辨率
屏幕的寬度上的像素點 * 高度上的像素點,例如1280*720。
可以通過命名 vm size 獲取分辨率信息
3、屏幕尺寸
指的是屏幕對角線的長度,單位是英寸。1英寸=2.54厘米。
4、dpi
屏幕像素密度,指的是每英寸上面的像素點個數,dpi越高,屏幕呈現的畫質就越清晰。
可以通過adb命名 getprop 獲取dpi的大小。
根據dpi的不同,可以區分出drawable文件:
- mdpi 120dpi ~ 160dpi
- hdpi 160dpi ~ 240dpi
- xhdpi 240dpi ~ 320dpi
- xxhdpi 320dpi ~ 480dpi
- xxxdpi 480dpi ~ 640dpi
5、dp
dp也就dip,即Density-independent pixel (dp)獨立像素密度,這是谷歌為了方便開發人員適配而做的一個單位。谷歌規定,當dpi為160的時候,1dp = 1px。例如一張160dp160dp的控件,在160dpi的屏幕上,它占用的像素點也是160px * 160px,也就是1英寸 * 1英寸;如果這個控件是在320dpi的屏幕上,1dp = 2px,它占用的像素點就是320px320px,但還是1英寸*1英寸。
如果這兩種設備的尺寸都是10.4寸(車機是經常有這種尺寸的),那么就可以完美適配尺寸,不用修改控件的大小;但是如果這兩個設備的尺寸差距較大,那么就會出現小尺寸的控件放在大尺寸的的設備上,會留空白,大尺寸的控件放在小尺寸上會顯示不全。
適配方案:
車機的屏幕尺寸很多,而且跟手機的尺寸不一樣,比如有1920720 12.3寸、1920720 8.8寸、1280720 10.4寸、1280480 8.8寸、800*480 7寸等等。
我們通常需要分別給它們建立資源文件,以便準確地對應圖片和尺寸:
如果遇到某些項目,不同的尺寸,UI布局也會有小改動的話,可以如下適配:
資源文件的命令規則如下:
values-mcc310(sim卡運營商)-en(語言)-sw320dp(屏幕最小寬度)-w720dp(屏幕最佳寬度)-h720dp(屏幕最佳高度)-large(屏幕尺寸)-long(屏幕長短邊模式)-port(當前屏幕橫豎屏顯示模式)-car(dock模式)-night(白天或夜晚)-mdpi(屏幕最佳dpi)-notouch(觸摸屏模類型)-keysexposed(鍵盤類型)-nokey(硬按鍵類型)-navexposed(方向鍵是否可用)-nonav(方向鍵類型)-v7(android版本)
需要注意的是:
對于指定分辨率的屬性(例如:values-hdpi-1024x600,values-hdpi-960x540,values-mdpi-1024x600),指定分辨率屬性并沒出現在官網的匹配屬性集里,也沒找到對于分辨率屬性的詳細說明,有時候我們會發現這個命名在某些機型上存在適配不成功,我們可能就需要換一種適配命名了。
當然,如果有一些特殊的情況,我們就可以特殊地適配了:
1、屏幕尺寸相同,像素密度不同
這種情況尺寸用dp較為合適,且適配的時候,不需要再建立其他尺寸的資源文件,只需要區分不同dpi的圖片即可。
2、分辨率相同,屏幕尺寸不同
比如都是1280*720的分辨率,一個是10.4寸的,一個是8.8寸的。這個時候,尺寸的單位使用px比較合適,這個時候圖片和資源文件都不用再區分了,因為圖片也是針對于像素點,px也是像素點,相當于把等比例縮小或者放大。
總結
以上是生活随笔為你收集整理的车机屏幕适配方案总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何恢复、打开、开启默认共享ipc$ c
- 下一篇: 什么是Cocoa?