使用最小的宽度限定词
android 3.2 之后的版本,出现的最小宽度限定词
sw600dp,最小的宽度为600dp(传统7寸的平板)
兼容3.2的以前的版本,需要使用抽象的尺寸,small,normal,large,xlarge
区别的平板和手机的常见的方法
values-sw600dp,设置是isTablet = true;
values_large,设置isTablet = true;
values设置isTablet = false;
即可在启动的时候的判断的是不是isTablet并选择
使用点9的图片
支持不同的屏幕就意味着你的图片资源能兼容不同的屏幕的尺寸。 .9.png
8根线
上和左边的四根线,表示绘制被拉伸的区域
下和右边的四根线,表示内容应该存放的地方
提供可供选择的图片
因为android 能够在不同的屏幕密度上,所以,你应该针对不同的但是常用的几种密度提供不同的bitmap资源:小屏幕(low) ,中(medium),高(hign),超高(extra_high)密度。
你应该设置以下几种规格的为不同的屏幕提供位图资源
xhdpi 124*600 96*96 320 2.0
hdpi 480*800 72*72 240 1.5
mdpi 480*320 48*48 160 1.0 标准线
ldpi 320*240 36*36 120 0.75
这也就意味着如果在xhdpi设备上你需要一个200*200的图片,那么你则需要hdpi上放一张150*150的,mdpi上用一个100*100的,以及在ldpi的75*75的图片。这样无论在那种屏幕都可以得到适配。
常见的dp和px的之间的转换
dp—>px
public static int dp2px(Context context, int dp) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dp * scale + 0.5f);
}
px->dp
public static int px2dip(Context context,float pxValue) {
finalfloatscale = context.getResources().getDisplayMetrics().density;
return(int) (pxValue / scale +0.5f);
}
网友评论