我使用這個代碼,我已經在另一個線程發現這是工作的罰款於mdpi屏幕到新聞部MDPI和HDPI屏幕:轉換像素
public static float convertDpToPixel(float dp,Context context){
Resources resources = context.getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
float px = dp * (metrics.densityDpi/160f);
return px;
}
public static float convertPixelsToDp(float px,Context context){
Resources resources = context.getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
float dp = px/(metrics.densityDpi /160f);
return dp;
}
當使用它HDPI屏幕上的文字大小跳躍時試圖增加文字大小。我假設它是因爲它在使用硬編碼160f時除以densityDpi?有沒有什麼動態的方法來確定它是160dpi還是240dpi?