java - 如何在Android中为CustomView的Text设置字体?

标签 java android textview typeface

我正在尝试在 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);

关于java - 如何在Android中为CustomView的Text设置字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56489949/

相关文章:

java - 在 Python 和 Groovy 之间传输简单对象

java - Java 中的 PermGen 空间

java - 如何通过修改结构来反序列化Json?

android - 连接到远程 tcp 套接字时我的应用程序崩溃

android - 以编程方式为 TextView 设置 layout_toLeftOf 和 layout_below

android - 将两个布局合并为一个

javascript - Java中基于动态正则表达式的字符串替换

java - JNI Throw 是否会中断方法执行?

android - calabash-android:执行 press_back_button 时的 INJECT_EVENTS 权限(RuntimeError)

android - 无法检查我的textview在Kotlin中是否可见数组内部