
Paint p = new Paint();p.p.setTextSize(14);canvas.drawText(....TextVIEw text =...text.setTextSize(14);
在某些设备上,两个文本看起来完全相同.但在仿真器和三星galaxy III上,画布上的文字要小两倍.为什么?如何在所有设备上获得相同的尺寸?
SurfaceVIEw和TextVIEw同时出现在屏幕上. TextVIEw位于多个图层上,并覆盖在SurcafeVIEw的Canvas上.
最好的祝福
解决方法 您必须在AndroID中使用设备无关的像素(dp / dip)才能在所有设备上获得相同的大小.在Text的情况下,存在与比例无关的像素(sp).详细了解这些以便更好地理解.To convert Pixel value into dp use the following code:
public static float convertPixelsToDp(float px,Context context){ displayMetrics metrics = context.getResources().getdisplayMetrics(); float dp = px / (metrics.densityDpi / 160f); return dp;} To convert dp value into pixel use the following code:
public static float convertDptopixel(float dp,Context context){ displayMetrics metrics = context.getResources().getdisplayMetrics(); float px = dp * (metrics.densityDpi/160f); return px;} 只需根据您的要求调用您想要的任何方法.
总结以上是内存溢出为你收集整理的Canvas上的Android文本大小与TextView中的文本大小不同全部内容,希望文章能够帮你解决Canvas上的Android文本大小与TextView中的文本大小不同所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)