java - 如何在 Android 中将字体设置为 CustomView 的文本?
问题描述
我正在尝试在 Android 中绘制一个弧形文本。这是我的CustomView
:
public class GraphicsView extends View {
private static final String MY_TEXT = "xjaphx: Draw Text on Curve";
private Path mArc;
private Paint mPaintText;
public GraphicsView(Context context) {
super(context);
mArc = new Path();
RectF oval = new RectF(50,100,200,250);;
mArc.addArc(oval, -180, 200);
mPaintText = new Paint(Paint.ANTI_ALIAS_FLAG);
mPaintText.setStyle(Paint.Style.FILL_AND_STROKE);
mPaintText.setColor(Color.WHITE);
mPaintText.setTextSize(20f);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawTextOnPath(MY_TEXT, mArc, 0, 20, mPaintText);
invalidate();
}
}
我想更改 MY_TEXT 字体。我怎样才能做到这一点?谢谢。
解决方案
您可以通过这种方式将自定义字体设置为绘画
Typeface plain = Typeface.createFromAsset(assetManager, pathToFont);
Typeface bold = Typeface.create(plain, Typeface.DEFAULT_BOLD)
Paint paint = new Paint();
paint.setTypeface(bold);
推荐阅读
- c - 左移计数> = C宏中的类型宽度
- java - Maven + IDEA: cannot find String
- wordpress - 如何通过 https 更改主题图像?
- javascript - 如何单击 Selenium 中的 Javascript 按钮
- android - 即使 Firebase 安全规则设置为 true,也无法从节点读取数据
- appium - 在 Linux 上安装 Appium
- php - Laravel:根据 lat long 从数据库中获取结果
- reactjs - Modelling data based on a time range using redux/normalizr
- windows - FOR 将在命令行中设置一个变量,但不在批处理文件中
- python - SQLAlchemy Unicode 难题