如图,这个是桌面Widget中的截图,最好是通过一个TextView实现,这是我提出的问题,近几天解决。呵呵,当然写两个TextView很简单也很容易设置。
title.setText("Your big island <b>ADVENTURE!</b>");//这是原样显示,我想让加粗
还有,我想能不能类似的给上边那样通过html标签设置样式。网上搜过,果然可以。
{
final SpannableStringBuilder sb = new SpannableStringBuilder("your text here");
final ForegroundColorSpan fcs = new ForegroundColorSpan(Color.rgb(158, 158, 158)); // Span to set text color to some RGB value
final StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD); // Span to make text bold
sb.setSpan(fcs, 0, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE); // Set the text color for first 4 characters
sb.setSpan(bss, 0, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE); // make them also bold
yourTextView.setText(sb);
}
另外android帮我们封装了简单的方法。
title.setText(Html.fromHtml("Your big island <b>ADVENTURE!</b>"));
但是,我通过这个方法,在widget中设置,不太可行。又是个疑问了,但到在widget中通过html代码设置字体大小不行么?
如果你经常的使用设置TextView中的字体,最好使用Spannable或SpannableBuilder之类的。网上说Html.fromHtml不是很高效,因为这是通过一个很大的xml来解析的。
我再试试Spannable
TextView TV = (TextView)findViewById(R.id.mytextview01);
Spannable WordtoSpan = new SpannableString("I know just how to whisper, And I know just how to cry,I know just where to find the answers");
WordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 15, 30, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
TV.setText(WordtoSpan);
经过测试通过这种方法还是不能够改变widget中的字体大小。
Spannable WordtoSpan = new SpannableString("大字小字");
WordtoSpan.setSpan(new AbsoluteSizeSpan(11), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
WordtoSpan.setSpan(new AbsoluteSizeSpan(21), 2, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
remoteViews.setCharSequence(R.id.text11, "setText", WordtoSpan.toString());
ComponentName com = new ComponentName("com.jftt.widget", "com.jftt.widget.MyWidgetProvider");
appWidgetManager.updateAppWidget(com, remoteViews);
经过我的修改终于成功了,原来试试自己使用错误啊。下边是正确代码。
Spannable WordtoSpan = new SpannableString("大字小字");
WordtoSpan.setSpan(new AbsoluteSizeSpan(20), 0, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
WordtoSpan.setSpan(new AbsoluteSizeSpan(14), 2, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
remoteViews.setCharSequence(R.id.text11, "setText", WordtoSpan);
ComponentName com = new ComponentName("com.jftt.widget", "com.jftt.widget.MyWidgetProvider");
appWidgetManager.updateAppWidget(com, remoteViews);
相信对比可以看出我错在哪里了吧!是的,我错误的使用了toString方法。
效果如图:
- 大小: 3.6 KB
- 大小: 4.1 KB
分享到:
相关推荐
Android 一个TextView中设置不同字体大小和颜色
Android SpannableString实现TextView不同大小文字居中显示。
本文实例讲述了Android编程中TextView字体属性设置方法(大小、字体、下划线、背景色)。分享给大家供大家参考,具体如下: import android.content.Context; import android.graphics.Color; import android.text....
本人封装的一个工具类,可对textview中的部分字体修改颜色和大小。希望对大家有所帮助! 有四个构造方法,可以改变字体大小和颜色或者默认TextView本身的颜色大小都可以!! 代码中都写又详细的注释!
TextView的字体自适应控件的大小,根据网上的EditView的例子更改而来
当TextView中字符过多时,会动态的改变字体大小以其适应TextView的大小,不会导致换行显示或超出TextView的宽度
自定义的一个TextView控件继承TextSwitcher能实现自动垂直轮播,可设置字体大小颜色,轮播时间
主要介绍了Android编程实现自动调整TextView字体大小以适应文字长度的方法,涉及Android基于TextView类的继承及Paint属性操作实现字体大小自适应的相关技巧,需要的朋友可以参考下
本人封装的一个工具类,可对textview和EditText中的部分字体修改颜色和大小。希望对大家有所帮助! 有四个构造方法,可以改变字体大小和颜色或者默认TextView本身的颜色大小都可以!! 代码中都写又详细的注释!
主要介绍了Android TextView 设置字体大小的方法的相关资料,需要的朋友可以参考下
代码动态改变某些textview文本颜色及其大小的方式.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操作来演示一下。 关键方法: public void setSpan (Object what, int ...
自动根据TextView改变文字大小,很实用
动态生成每个下拉项对应的View,每个下拉项View由LinearLayout中包含一个ImageView及一个TextView构成,然后为ListView设置内容适配器和设置选项被单击的监听器。以下代码或许对你有帮助: LinearLayout ll=new ...
TextView就是一个用来显示文本标签的控件。 代码如下:/*TextView的设置*//* 获得TextView对象 */ textview = (TextView)this.... /* 设置字体大小 */ textview.setTextSize(20); /* 设置文字背景 */ tex
可固定边界内容字体大小自适应的TextView Usage dependencies { compile me.grantland:autofittextview:0.2.+ } 创建: AutofitHelper.create(textView) 布局文件: <me.grantland.widget.AutofitLayout...
下面小编就为大家分享一篇android 更改TextView中任意位置字体大小和颜色的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
自己总结的几点。。,关于在TextView中进行图文展现,,这个方法同样适用在Button,EditText中使用..