android 4.4上的自定义字体渲染具有空心透明文本

android 4.4上的自定义字体渲染具有空心透明文本,第1张

概述使用我的一个应用程序在android4.4上发生了一些奇怪的事情.我正在使用自定义视图,其中我使用Typeface.createFromAsset设置自定义字体.如上图所示,渲染在设备/模拟器上工作正常.当我将自定义视图的内容另存为位图时,会出现此问题:BitmapcurrentBitmap=Bitmap.createBitmap(vie

使用我的一个应用程序在android 4.4上发生了一些奇怪的事情.我正在使用自定义视图,其中我使用Typeface.createFromAsset设置自定义字体.如上图所示,渲染在设备/模拟器上工作正常.当我将自定义视图的内容另存为位图时,会出现此问题:

Bitmap currentBitmap = Bitmap.createBitmap(vIEw.getWIDth(), vIEw.getHeight(), Bitmap.Config.ARGB_8888);Canvas canvas = new Canvas(currentBitmap);vIEw.draw(canvas);

AndroID上的一切都运行良好< 4.4.保存的图像与屏幕上可见的图像相同.但是,在4.4我只看到字体边框,文本内部是透明的.
我怎样才能解决这个问题 ?

解决方法:

在API 19及更高版本的画布上绘制文本时,您必须注意要使用的Paint对象的笔触和填充.在AndroID的早期版本中,即使使用笔触样式,也始终绘制文本.在KitKat中,将样式设置为笔划就可以完成此 *** 作;抚摸文本而不是填充它.在渲染文本时,您需要手动设置要填充的绘制样式,然后将其重新设置为描边以绘制其他内容(如果这是您要执行的 *** 作).

@OverrIDeprotected voID onDraw(Canvas canvas) {    super.onDraw(canvas);    mTextPaint.setStyle(Style.stroke);    // do other setup on Paint object    // Draw non-text stuff    mTextPaint.setStyle(Style.FILL);    // do other setup on Paint object    // Draw all the text stuff}
总结

以上是内存溢出为你收集整理的android 4.4上的自定义字体渲染具有空心透明文本全部内容,希望文章能够帮你解决android 4.4上的自定义字体渲染具有空心透明文本所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1107059.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存