Java 具有自定义文本支持的小部件
我已经为widget使用了自定义文本,但我知道widget不能支持自定义文本meanstextview和我们的TTF文件 所以我使用了下面的代码作为支持Java 具有自定义文本支持的小部件,java,android,android-widget,widget,Java,Android,Android Widget,Widget,我已经为widget使用了自定义文本,但我知道widget不能支持自定义文本meanstextview和我们的TTF文件 所以我使用了下面的代码作为支持 @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { ...................... remoteViews.setTextColor(
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
......................
remoteViews.setTextColor(R.id.textViewGuj, settings.getInt(
Const.Mean_Pref_Color_Key,
context.getResources().getColor(R.color.orange)));
remoteViews.setTextViewText(R.id.textViewEng, engWord);
remoteViews.setImageViewBitmap(R.id.textViewGuj,
buildUpdate(meaning));
remoteViews.setOnClickPendingIntent(R.id.LinearLayout01,
pendingIntent1);
appWidgetManager.updateAppWidget(appWidgetId, remoteViews);
}
}
public Bitmap buildUpdate(String time)
{
Bitmap myBitmap = Bitmap.createBitmap(50, 50, Bitmap.Config.ARGB_4444);
Canvas myCanvas = new Canvas(myBitmap);
Paint paint = new Paint();
Typeface clock = Typeface.createFromAsset(mContext.getAssets(),"fonts/Gujarat.ttf");
paint.setAntiAlias(true);
paint.setSubpixelText(true);
paint.setTypeface(clock);
paint.setStyle(Paint.Style.FILL);
paint.setColor(settings.getInt(
Const.Mean_Pref_Color_Key,
mContext.getResources().getColor(R.color.orange)));
//paint.setColor(Color.WHITE);
paint.setTextSize(20);
paint.setTextAlign(Align.CENTER);
myCanvas.drawText(time, 80, 60, paint);
return myBitmap;
}
和用于更新ImageView
remoteViews.setImageViewBitmap(R.id.textViewGuj,
buildUpdate(meaning));
现在我的问题是,我的小部件没有显示任何内容。它变为黑色。小部件中没有显示任何内容。没有生成任何错误。有人能帮我吗?我认为您下面的代码有问题
remoteViews.setTextColor(R.id.textViewGuj, settings.getInt(
Const.Mean_Pref_Color_Key,
context.getResources().getColor(R.color.orange)));
只需删除这一行,因为您使用的是ImageView,并且ImageView没有任何TextColor属性
remoteViews.setImageViewBitmap(R.id.textViewGuj,
buildUpdate(meaning));
希望工作正常:)我认为您下面的代码有问题
remoteViews.setTextColor(R.id.textViewGuj, settings.getInt(
Const.Mean_Pref_Color_Key,
context.getResources().getColor(R.color.orange)));
只需删除这一行,因为您使用的是ImageView,并且ImageView没有任何TextColor属性
remoteViews.setImageViewBitmap(R.id.textViewGuj,
buildUpdate(meaning));
希望很好:)