有关在Android中使用DP的问题?

在开发应用程序时,这就是我所做的:

1.Kept 320 * 480作为我的基本分辨率,160dpi作为我的基本密度.

2.保存drawable-mdpi文件夹中的所有图像

3.在xml布局中指定图像的宽度和高度时使用dp.

我所发现的就像它在开发者网站上提到的那样,如果我们使用dp然后它会根据屏幕自动缩放并缩小比例.但是我没有得到理想的结果,并且图像没有适合缩小设备.

所以我做的是
1.在xml文件中创建布局
2.在运行时设置图像的宽度和高度,以屏幕宽度和高度的百分比表示
通过这样做,我得到了理想的结果.图像在所有设备上正确缩放,范围从小240 * 320到标签600 * 1024.

所以我的问题是,如开发人员网站中提到的,我应该使用dp来指定宽度和高度,或者我应该以编程方式进行.如果没有什么是dp的概念,我可以在哪里使用它?

最佳答案 首先,我认为使用“dp”是好的.这没有问题.

其次,为了解决您提到的问题,最好的方法是将合适大小的图像放在ldpi,hdpi和xhdpi文件夹中.然后您不必动态调整布局.

LDPI中的图像大小比率:MDPI:HDPI:XHDPI = 3:4:6:8

或者这是您可以动态预测设备大小然后相应地设置布局的方法:

    DisplayMetrics displayMetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
    switch(displayMetrics.densityDpi){ 
        case DisplayMetrics.DENSITY_LOW: 
            //your layout for samll sized devices
            break; 
        case DisplayMetrics.DENSITY_MEDIUM: 
            //your layout for medium sized devices
            break; 
        case DisplayMetrics.DENSITY_HIGH: 
            //your layout for large sized devices
            break; 
    } 
点赞