mdpi画面で正常に動作している別のスレッドで見つけたこのコードを使用しています:
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画面で使用すると、テキストサイズを大きくしようとするとテキストサイズがジャンプします。密度Dpiを分割するときにハードコードされた160fを使用しているためだと思いますか? 160dpi か 240dpi かを動的に判断する方法はありますか?