這幾周在對移動端進行屏幕適配時遇到的一些問題和解決方法記錄如下:
起初是不知道有適配方案的,這點非常糟糕,身為一個安卓程序員竟然不知道適配確實是一件不好的事情,這點以后一定注意。
適配方案是采用張鴻洋的屏幕百分比適配方案。首先在開發的清單文件中表明標準或對照的屏幕尺寸,這里采用的是1280*720,用于定百分比基準。之后就可以在界面上使用px的單位進行適配了。所有寬度尺寸都會和720進行百分比適配,所有長度尺寸都會和1280進行適配,就是百分比適配方案。
遇到的問題和解決方法:
適配需要將LinnearLayout等換成AutoLinearLayout等,起初是每個頁面手動修改,這效率很低,于是進行替換,替換時需要小心,不要將其他無關文件也同時替換,比如R文件等,方法就是選擇要替換的文件夾再替換,有的頁面之前替換過AutoLinearLayout,所以這些會保錯,在修改一次就可以了,同時也需要將java文件的LinearLayout也進行文件夾替換,替換成AutoLinearLayout,之前適配過的頁面也需要再替換一次。
如果要讓一個控件達到適配的效果,那么它的父控件一定是AutoLayout布局,比如一個Textview,它的父控件必須是AutoLayout,它的px值才能達到適配。包括所有listview的item,根節點一定是AutoLayout。
在適配過程中發現,適配特別適合批量作業,效率高。
在適配中發現有的頁面很多組件的屬性相同,比如配音報告頁,左邊是文字,權重1,中間是虛線,寬度自適應,右邊是文字,權重1.1,這時候就應該將這些重復出現的屬性定義在style中,維護起來非常方便,包括作業卡片的標題欄,activity的返回,標題,都是統一的,都應該使用style統一定義和管理。同樣抽出來的還有dimen,對公共屬性都應該進行統一管理,使用style和dimen進行管理。
適配過程中收獲了很多,也發現了很多自身的問題,包括對公共屬性不敏感不懂統一管理等,還需要繼續完善。(未完待續)