Android屏幕适配之–通过修改系统的屏幕像素比来实现屏幕的适配效果
关于Android中dip,dpi,density,px的详细解释参考简书前辈的文章Android开发中dip,dpi,density,px等详解
当然在下面的代码中,density
代表的是缩放比,densityDpi
代表的是像素密度(就是一个dp
中有多少个px
),Android官方中是以160
为基准dpi
做一个简要的说明:在显示中,实际都是以像素px为单位来对控件的大小进行指定的,所以数值在换算的公式是这样的
实际显示的像素值px = 缩放比 * 设置的dp值
缩放比 = 实际的dpi / 160(基准dpi)
代码不多,先直接把整个类的代码贴上来吧
public class DensityUtil {
//屏幕的参考宽度值,单位是dp
private static float STAND_WIDTH = 320;
//系统原来的像素缩放比
private static float appDensity;
private static float appScaleDensity; //字体缩放比
public static void setDensity(final Application application, Activity activity) {
final DisplayMetrics appMetrics = application.getResources().getDisplayM