[英]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.