簡體   English   中英

如何在主屏幕小部件中更改textview的字體?

[英]How to change font of textview in Home screen widget?

我想在主屏幕小部件中更改textview的字體嗎?

            RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
                R.layout.time_widget_layout);
        remoteViews.setTextViewText(R.id.tvTime, Utility.getCurrentTime("hh:mm:ss a"));

我的資產文件夾中有字體。

TextView上有一個名為setTypeface的方法

如果您的字體位於“ Assets / Font / Font.otf”,則設置字體的代碼與此類似:

Typeface font = Typeface.createFromAsset(context.getAssets(), "Font/Font.otf");
TextView textView = (TextView)findViewById(R.id.tvTime);
textView.setTypeface(font, Typeface.NORMAL);

可選:如果需要,您可以在繼承自TextView的類的構造函數中執行此操作,然后在布局中使用該類,以防萬一您想在許多不同的地方使用該字體。 另外,如果您想在構造函數中執行此操作,則可以將字體名稱作為樣式屬性傳遞到布局中,並使用它代替上面的硬編碼字符串。

RemoteView方法非常有限。 但是setImageViewBitmap就足夠了。
使用Java代碼創建TextView,啟用此功能:

textView.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
textView.setDrawingCacheEnabled(true);

現在設置typeFace,更改字體大小並執行所需的操作,最后可以獲取所需的位圖並將其設置為主屏幕ImageView

textView.buildDrawingCache();
Bitmap finalResult = textView.getDrawingCache();
remoteImageView.setImageViewBitmap(R.id.ivWidget, finalResult);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM