1
디지털 시계 위젯이 있으며 시간을 표시하는 데 사용자 정의 글꼴을 사용하고 싶습니다. 나는 그것이 remoteviews에서 할 수 없다는 것을 알고, 그래서 비트 맵에 사용자 정의 글꼴을 렌더링하고 원격 뷰를 가로 질러 그것을 이미지 뷰로 푸시하는 코드를 얻었다. 그러나, 나는 그것을 작동시킬 수 없습니다. 지금까지 내 코드 :사용자 정의 글꼴을 사용하여 시간을 표시하는 데 문제가 있습니다.
public Bitmap buildUpdate(String time)
{
RemoteViews views = new RemoteViews(this.getPackageName(), R.layout.main);
Bitmap myBitmap = Bitmap.createBitmap(100, 50, 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(15);
myCanvas.drawText(time, 0, 20, paint);
views.setImageViewBitmap(R.id.TimeView, myBitmap);
return myBitmap;
}
private void update() {
mCalendar.setTimeInMillis(System.currentTimeMillis());
final CharSequence date = DateFormat.format(mDateFormat, mCalendar);
final CharSequence day = DateFormat.format(mDayFormat, mCalendar);
// final CharSequence time = DateFormat.format(mTimeFormat, mCalendar);
String time = (String) DateFormat.format(mTimeFormat, mCalendar);
RemoteViews views = new RemoteViews(getPackageName(), R.layout.main);
views.setTextViewText(R.id.Day, day);
views.setTextViewText(R.id.Date, date);
// views.setTextViewText(R.id.Time, time);
buildUpdate(time);
ComponentName widget = new ComponentName(this, DigiClock.class);
AppWidgetManager manager = AppWidgetManager.getInstance(this);
manager.updateAppWidget(widget, views);
}
도움을 주시면 감사하겠습니다.
"그러나 작동하지 않습니다." - 정말로 도움이 필요하다면, 문제를 설명 할 수있는 더 나은 일을해야합니다. – CommonsWare