android手机厂商各异,android分辨率也随之不同;在res下建立对应手机分辨率的layout包,手机会自动匹配分辨率:如下图
以上 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这个文件夹我没建立)这个文件夹里的布局文件;