适配一般的屏幕->解决特殊的屏幕
1.有哪些分辨率的屏幕?
2.使用什么布局?线性布局 和 相对布局,多数据时用ScrollView包裹;
3.使用什么单位?宽高用dip/dp,文字用sp;
4.如何动态转行单位,满足特殊需求?dpValue*(context.getResources().getDisplayMetrics().density)+0.5f;
pxValue/(context.getResources().getDisplayMetrics().density)+0.5f;
分辨率:
VGA 480*640
HVGA 480*320
QVGA 240*320
WVGA 800*480
FWVGA 854*480
1024 * 768
1200* 800
工具类如下:
public class DensityUtil {
/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
*/
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
}
本文介绍了如何针对多种屏幕分辨率进行应用界面的适配,包括使用dp/dip和sp作为单位来确保不同分辨率屏幕上的显示效果一致,以及通过线性布局和相对布局来实现灵活的界面设计。还提供了一个工具类DensityUtil,用于实现dp与px之间的转换。
277

被折叠的 条评论
为什么被折叠?



