更改RemoteView中的视图属性

时间:2017-06-07 16:01:16

标签: java android remoteview

我有一个应用小部件,其TextView我需要更改 textColor shadowColor gravity 。< / p>

虽然我可以轻松地将textColor与view.settextColor()和Gravity与view.setInt();一起设置为RemoteView,但我找不到设置shadowColor的方法。

阴影的颜色取决于所选文本的颜色(黑色或黑色仅白色),并且易于辨认。

我尝试使用已经设置的文本和阴影颜色来扩展不同的布局并且它有效,但是窗口小部件的定义XML需要声明一个初始布局,并且我的textViews最终会有两个相同的ID,所以我不喜欢不知道我应该。

如果我无法以编程方式设置它还有哪些选项?

感谢。

1 个答案:

答案 0 :(得分:0)

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

}

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

来源:How to use a custom typeface in a widget?