私は、カスタムフォントをウィジェット(AppWidgetProvider)に描画しようとしています。今問題は、AppWidgetProviderの拡張機能から拡張機能にアクセスできないことです。これを回避する方法はありますか?ありがとう!Android WidgetのgetAssets
* UPDATE *これはフィードバックの後にあります。ウィジェットには何も表示されません。私のXMLはこのように見えますか?私は間違って行くよどこたぶんそれは今...
import java.text.DateFormat;
import java.util.Date;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.graphics.Typeface;
import android.appwidget.AppWidgetManager;
import android.widget.RemoteViews;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Align;
import android.graphics.Typeface;
import android.widget.ImageView;
public class ClockWidgetXProvider extends AppWidgetProvider {
public Bitmap buildUpdate(String string, Context context) {
Bitmap myBitmap = Bitmap.createBitmap(160, 84, Bitmap.Config.ARGB_4444);
Canvas myCanvas = new Canvas(myBitmap);
Paint paint = new Paint();
Typeface clock = Typeface.createFromAsset(context.getAssets(),"Carre.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(string, 80, 60, paint);
return myBitmap;
}
@Override
public void onUpdate(Context context,
AppWidgetManager appWidgetManager, int[] appWidgetIds) {
RemoteViews view = new RemoteViews(context.getPackageName(), R.layout.clockwidget);
String currentDateTimeString = DateFormat.getTimeInstance().format(new Date());
view.setImageViewBitmap(R.id.time1, buildUpdate(currentDateTimeString, context));
appWidgetManager.updateAppWidget(appWidgetIds, view);
}
}
任意のアイデアをみんなに方法ありますか? – adamwhiles
1.取得したエラーメッセージを投稿してください。 2. 'assets'ディレクトリに' Carre.ttf'を持っていますか? –
getAssets()メソッドは、ClockWidgetXProviderタイプでは未定義です – adamwhiles