天天看點

關于Android螢幕适配的問題

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),進行資源的縮放。