2

当我查看解决方案时:

如何在小部件中使用自定义字体

在上面的问题中,我在一个Widget中使用了自定义字体;使用解决方案:

public Bitmap buildUpdate(String time) 
  {
    Bitmap myBitmap = Bitmap.createBitmap(160, 84, Bitmap.Config.ARGB_4444);
    Canvas myCanvas = new Canvas(myBitmap);
    Paint paint = new Paint();
    Typeface clock = Typeface.createFromAsset(this.getAssets(),"Clockopia.ttf");
    paint.setAntiAlias(true);
    paint.setSubpixelText(true);
    paint.setTypeface(clock);
    paint.setStyle(Paint.Style.FILL);
    paint.setColor(Color.WHITE);
    paint.setTextSize(65);
    paint.setTextAlign(Align.CENTER);
    myCanvas.drawText(time, 80, 60, paint);
    return myBitmap;
  }

问题:如何根据字符数确定生成的位图的宽高?

4

1 回答 1

1

有了这个:

Rect rect = new Rect();
paint.getTextBounds(time, 0, time.length(), rect); // time = your text
int w = rect.width(); // width text
int h = rect.height(); // height of text

这会将文本的边界保存在 Rect 中,然后您可以测量 Rect。

于 2012-12-27T02:34:26.747 回答