书接上文,Skia库从Android8.1迁移到Android11还是有不少问题的。
涉及到SkPaint,SkCanvas中的一些方法被删减或者更加细化了。现在在这里记录一下,有备无患。
SkPaint:
m_painter = new SkPaint();
sk_sp<SkTypeface>typeface1(SkTypeface::MakeFromFile("system/fonts/DroidSansFallback.ttf"));
m_painter ->setTypeface(typeface1);
这里的setTypeface()方法在Android11中被弃用了。废了好大劲才找到解决方法。
m_painter = new SkPaint();
m_font = new SkFont();
sk_sp<SkTypeface>typeface1(SkTypeface::MakeFromFile("system/fonts/DroidSansFallback.ttf"));
m_font->setTypeface(typeface1);
还要在头文件,添加引用
#include <SkFont.h>
同样的,setTextSize();方法, getTextSize();方法,getTypeface();方法也要相应更改
setSize(tempFont.getSize());
m_font->getSize();
m_font->getTypeface() ;