背景:目前安卓设备层出不穷,各种屏幕尺寸和各种奇葩分辨率,导致我们的app在这些设备上画面不能统一甚至重合错位等等。下面纪录下常用到的一些适配技巧。
在进行适配之前,我们需要先获取屏幕的宽高:
DisplayMetrics display = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(display);
Common.mScreenWidth = display.widthPixels;
Common.mScreenHeight = display.heightPixels;
得到的宽高放入Common中,以便其他类使用。
一、字体大小的适配
字体我们往往使用sp来设置大小,可以通过以下代码进行适配:
mTextView.setTextSize(TypedValue.COMPLEX_UNIT_PX, Common.mScreenHeight / 35);
其中35是调整的比例
二、不用屏幕密度下dp的适配
布局文件中,我们多使用dp来设置距离,可以通过以下代码转换:
LayoutParams mLayoutParams = (LayoutParams) mTextView.getLayoutParams();
mLayoutParams.topMargin = (int) TypedValue.applyDimension(TypedValue.CO