有没有办法改变小部件中的字体?
是的,但不幸的是,您只能使用系统字体。您可以像这样在 Android 4.1+ 上本地使用 Roboto 字体:
android:fontFamily="sans-serif" // roboto regular
android:fontFamily="sans-serif-light" // roboto light
android:fontFamily="sans-serif-condensed" // roboto condensed
在以前的版本中使用 Roboto 的唯一方法是创建一个位图并在 Canvas 上绘制文本,如下所示:
Bitmap myBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas myCanvas = new Canvas(myBitmap);
Paint paint = new Paint();
Typeface font = Typeface.createFromAsset(context.getAssets(), "fonts/myFont.ttf");
paint.setTypeface(font);
paint.setStyle(Paint.Style.FILL);
paint.setColor(...);
paint.setTextSize(...);
myCanvas.drawText("Hello World", x, y, paint);
然后将其设置为您的RemoteView
:
rViews.setImageViewBitmap(R.id.myImageView, myBitmap);