Android由于螢幕裝置的種類多種多樣,不像Ios那邊隻需要适配幾種型号的機器即可。
對于螢幕的适配,特别是針對于既有ios、又需要有Android的移動應用開發來說,适配更是存在着問題。
在此,可以利用一種簡單的解決方案來簡化問題,達到pad和phone手機的簡單适配的效果。
可根據
DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; // 螢幕寬度(像素)
int height = metric.heightPixels; // 螢幕高度(像素)
利用ration = width/height
來判斷是否為4:3的pad裝置,還是16:9或者其他的裝置(目前市場上大多數主流裝置都是這樣,pad趨近于4:3,而phone趨近于16:9,當然也有魅族的16:10的)
然後可以根據ration作為判斷的條件進行pad和phone的适配。
既然隻固定的區分為兩類,那麼隻需要提供兩套資源。這兩套資源如何能夠适當的展示在不同螢幕上方呢?
答案是:按比例縮放。根據提供的相應資源的大小,與所用裝置的大小計算出X、Y的縮放比。ScaleX,ScaleY.計算出應該在裝置上顯示的資源的大小width、height,然後利用XX.LayoutParams xx = new XX .LayoutParams(width,height),進行資源的縮放。