我有一个x像素宽,y像素高的图像。
它在android hdpi肖像显示中显示正常
我是否可以使用公式将x和y转换为适用于纵向和横向的ldpi,mdpi和xhdp显示的尺寸?
答案 0 :(得分:1)
以下是一些我在静态Utils类中总是很方便的方法:
public static int convertDp2Px(Context context, int dps) {
final float scale = context.getResources().getDisplayMetrics().densityDpi;
float pixels = dps * (scale / 160.0f);
return (int) pixels;
}
public static float convertPx2Dp(Context context, int pixels) {
final float scale = context.getResources().getDisplayMetrics().densityDpi;
float dps = pixels / (scale / 160.0f);
return dps;
}
并且......从这个链接: http://developer.android.com/training/multiscreen/screendensities.html
要生成这些图像,您应该以矢量格式开始使用原始资源,并使用以下大小比例为每个密度生成图像:
xhdpi:2.0 hdpi:1.5 mdpi:1.0(基线) ldpi:0.75