关于RemoteView 的一些字体的一些问题

最近在做一个 在notification 添加 天气通知的小部分

发现困扰在 如何给 RemoteView 中的字体 作修改 。

大家都知道 , textView 设置字体 在XML 中 可以 设置 3种  , 而其他字体的设置 需要通过 Typeface 去设置 

具体:

将字体放置在asset 文件夹中

Typeface face = Typeface.createFromAsset(this.getAssets(),"helvetica-neue-lt.ttf");

textView.setTypeface(face);



BUT ------------------------------>然后就是重点了 

RemoteView  却无法获取到自己view中的textView 。 这个困扰我很久 

然后查资料 , 找到这么一个方法 

RemoteView中需要改字体的textView ,改使用ImageView

然后

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;     }
在然后:去使用这个Bitmap

String time = (String) DateFormat.format(mTimeFormat, mCalendar); RemoteViews views = new RemoteViews(getPackageName(), R.layout.main); views.setImageViewBitmap(R.id.TimeView, buildUpdate(time));


你可能感兴趣的:(xml,String)