Java 具有自定义文本支持的小部件

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(

我已经为widget使用了自定义文本,但我知道widget不能支持自定义文本meanstextview和我们的TTF文件

所以我使用了下面的代码作为支持

    @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));
希望很好:)