android手機廠商各異,android分辨率也随之不同;在res下建立對應手機分辨率的layout包,手機會自動比對分辨率:如下圖
Android:螢幕分辨率比對; 以上 hdpi :高分辨率 ldpi: 低分辨率 mdpi: 中等分辨率 xhdpi:超大分辨率 ,分别存放不同的圖檔;也是系統自動比對,主流的分辨率就是這些;
注意:建立layout-xxxxxxx的時候大分辨率x小分辨率, 比如1280x720 而不能寫成720x1280!
當然,也可以在java代碼中自動判斷分辨率,然後設定大小:
personalcenter = (RelativeLayout)findViewById(R.id.personalcenter);//總布局
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();//螢幕寬度
int height = wm.getDefaultDisplay().getHeight();//螢幕高度
System.out.println("height:"+height);
System.out.println("width:"+width);
ViewGroup.LayoutParams relativeParams = (ViewGroup.LayoutParams) personalcenter.getLayoutParams();
if(height==480){
relativeParams.height = 364;
System.out.println("364");
}
if(height==800){
relativeParams.height = 626;
System.out.println("626");
}
當比對不到以上幾種分辨率的時候,會自動找res/layout(layout這個檔案夾我沒建立)這個檔案夾裡的布局檔案;