Android机型的多样性,造成了android开发的时候的屏幕适配烦恼。各位平时的适配方案都是什么呢?设置不同分辨率的dimen?还是尽量避免指定尺寸,选择使用权重?那么到底有没有一套比较清爽的适配方案呢?想要知道答案吗?嘿嘿,那就我们先来了解一下Android屏幕相关到低有哪些元素
public void getAndroiodScreenParam() {
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels; // 屏幕宽度(像素)
int height = dm.heightPixels; // 屏幕高度(像素)
float density = dm.density; // 屏幕密度(0.75 / 1.0 / 1.5)
int densityDpi = dm.densityDpi; // 屏幕密度dpi(120 / 160 (标准)/ 240)
// 屏幕宽度算法:屏幕宽度(像素)/屏幕密度
int screenWidth = (int) (width / density); // 屏幕宽度(dp)
int screenHeight = (int) (height / density);// 屏幕高度(dp)
//dp 与 px 转换关系
// px=dp*density
Log.i("screenParam", "屏幕宽度(像素):" + width);
Log.i("screenParam", "屏幕高度(像素):" + height);
Log.i("screenParam", "屏幕密度(0.75 / 1.0 / 1.5):" + density);
Log.i("screenParam", "屏幕密度dpi(120 / 160 / 240):" + densityDpi);
Log.i("screenParam", "屏幕宽度(dp):" + screenWidth);
Log.i("screenParam", "屏幕高度(dp):" + screenHeight);
}