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().getDisplayMetrics();
if (appDensity == 0) {
//获取系统本来的像素缩放比和字体缩放比
appDensity = appMet

本文介绍了Android屏幕适配的一种方法——通过调整系统的屏幕像素比来达到适配效果。内容包括Android中dip、dpi、density、px的概念解析,以及通过计算目标界面的缩放比来设置字体和像素密度的代码实现。强调了在Activity的setContentView前调用适配代码的必要性,并解释了为何要使用Application的DisplayMetrics以避免多次缩放导致的误差。
最低0.47元/天 解锁文章
47

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



