第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在小部件中使用自定義字體?

如何在小部件中使用自定義字體?

有只小跳蛙 2019-10-09 15:11:08
我有一個數(shù)字時鐘小部件。如何在顯示時鐘的textview中使用資產(chǎn)/字體中的自定義字體作為默認(rèn)字體?這是我的代碼:    package android.tristan.widget.digiclock;import java.util.Calendar;import android.app.PendingIntent;import android.app.Service;import android.appwidget.AppWidgetManager;import android.appwidget.AppWidgetProvider;import android.content.BroadcastReceiver;import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.IBinder;import android.os.Vibrator;import android.text.format.DateFormat;import android.widget.RemoteViews;public class DigiClock extends AppWidgetProvider {    @Override    public void onDisabled(Context context) {        super.onDisabled(context);        context.stopService(new Intent(context, UpdateService.class));    }    public void onReceive(Context context, Intent intent)    {        super.onReceive(context, intent);        if(intent.getAction().equals("android.tristan.widget.digiclock.CLICK"))        {          Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);          vibrator.vibrate(50);                       final Intent alarmClockIntent = new Intent(Intent.ACTION_MAIN, null);            alarmClockIntent.addCategory(Intent.CATEGORY_LAUNCHER);            final ComponentName cn = new ComponentName("com.android.deskclock", "com.android.deskclock.AlarmClock");            alarmClockIntent.setComponent(cn);            alarmClockIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);            context.startActivity(alarmClockIntent);        }        if(intent.getAction().equals("android.tristan.widget.digiclock.CLICK_2"))        }    }
查看完整描述

3 回答

?
守著一只汪

TA貢獻1872條經(jīng)驗 獲得超4個贊

我對度量大小進行了一些更改,因此位圖將支持不同的字體大小。它僅支持單行文本。


public static Bitmap getFontBitmap(Context context, String text, int color, float fontSizeSP) {

    int fontSizePX = convertDiptoPix(context, fontSizeSP);

    int pad = (fontSizePX / 9);

    Paint paint = new Paint();

    Typeface typeface = Typeface.createFromAsset(context.getAssets(), "Fonts/Roboto-Regular.ttf");

    paint.setAntiAlias(true);

    paint.setTypeface(typeface);

    paint.setColor(color);

    paint.setTextSize(fontSizePX);


    int textWidth = (int) (paint.measureText(text) + pad * 2);

    int height = (int) (fontSizePX / 0.75);

    Bitmap bitmap = Bitmap.createBitmap(textWidth, height, Bitmap.Config.ARGB_8888);

    Canvas canvas = new Canvas(bitmap);

    float xOriginal = pad;

    canvas.drawText(text, xOriginal, fontSizePX, paint);

    return bitmap;

}


public static int convertDiptoPix(Context context, float dip) {

    int value = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dip, context.getResources().getDisplayMetrics());

    return value;

}


查看完整回答
反對 回復(fù) 2019-10-09
  • 3 回答
  • 0 關(guān)注
  • 543 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號