当我在画布上的顶部不同分辨率位图上尝试相同的文字大小时。相同的文字大小在更大的分辨率下看起来很小,在小分辨率的图像上看起来更大请帮我理解这一点。在画布上了解不同分辨率图像上的文字大小android
0
A
回答
-1
这是你可以在所有设备中使所有文本统一大小的方式。
canvas.drawText(hourText, getPx(TEXT_SIZE, activity), getPx(TEXT_SIZE/3, activity), nPaint);
public static int getPx(int dp, Activity activity) {
DisplayMetrics metrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
float logicalDensity = metrics.density;
return (int) Math.ceil(dp * logicalDensity);
}
1
您需要设置正确的文本大小为您Paint
,即占密度。 Paint.setTextSize(float)
,收入浮动值。您需要确保这不是一个常数值,而是一个说明密度的值。
如何获得密度?您从DisplayMetrics.scaledDensity
或DisplayMetrics.density
获得该信息。获得该值后,将其与fontSize相乘,并将该值设置为文本大小。像下面的东西。
Paint.setTextSize(density * 10f);
这样一个文本的10f
字体大小在不同密度的所有设备中看起来都是一样的。你可以在这里找到关于density
和scaledDensity
的更多信息:http://developer.android.com/reference/android/util/DisplayMetrics.html#scaledDensity
相关问题
- 1. 安卓:图像分辨率的问题,同时在画布上
- 2. 不同分辨率的文字大小
- 3. 在保存分辨率的画布中调整图像大小
- 4. 用更好的分辨率在画布上绘画? (Android)
- 5. Android:Canvas.drawText()在不同屏幕分辨率下的文字大小
- 6. 跨不同分辨率的图像大小问题
- 7. 如何从较小的画布获得高分辨率图像?
- 8. 更改System.Windows.Media.Imaging.ImageSource图像大小/分辨率?
- 9. 调整图像大小在画布上
- 10. 针对不同分辨率的Android文本大小
- 11. Android的布局不同分辨率
- 12. 调整大小上不同的屏幕分辨率
- 13. Android在不同分辨率下显示不同的图像
- 14. 如何修复android上的不同分辨率上的图像textviews?
- 15. 如何在小分辨率上更改字体大小
- 16. 如何根据不同的分辨率调整android webview中的图像大小?
- 17. Android的文字大小在编程上取决于分辨率或密度
- 18. 如何在相同的分辨率下绘制不同大小的图像?
- 19. 在Android上的Web上的相同图像的不同大小
- 20. 图片在小分辨率屏幕上重叠文字
- 21. android在json数据的ImageView上显示图像(不同的屏幕分辨率)
- 22. 根据屏幕分辨率调整图像的大小Android
- 23. Android:不同分辨率的屏幕上的位图缩放
- 24. 在Android ICS virtualbox问题上更改分辨率(屏幕大小)
- 25. 在高分辨率图像上画一个形状?
- 26. 画布调整大小和改变索引图像上的脚本 - 福瘸子的分辨率
- 27. 如何动态修复不同屏幕分辨率的文字大小Android
- 28. 在屏幕分辨率上调整字体大小
- 29. Python图像库调整大小时的图像分辨率
- 30. 如何在不同分辨率下显示相同的“比例”文字大小?
你应该使用dp作为单位。 –
请参阅'android.util.TypedValue#applyDimension' – pskink