一 动态设置字体颜色
1. 在value文件夹下创建colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<color name="white">#FFFFFF</color>
</resources>
2.在需要动态设置字体颜色的地方设置颜色
tv.setTextColor(this.getResources().getColor(R.color.white));
重点:使用getResources()获取所需的资源,并不拘泥于字体颜色,任何可以动态设置资源的地方都可以用。
二为TextView添加超链接
textview1= (TextView) v.findViewById(R.id.textview1);
String text = "Visit <a href=\"http://baidu.com/\">Baidu home page</a>";
textview1.setText(Html.fromHtml(text));
//设置该句使文本的超连接起作用
textview1.setMovementMethod(LinkMovementMethod.getInstance());//这个不太懂,照着做的。有知道的朋友可以留言给我哈。
重点:通过Html.fromHtml()方法设置文本内容,该方法将HTML转化为一个Spanned对象。
三使用SpannableString类
textview1= (TextView) v.findViewById(R.id.textview1);
Spannable sTextSpannable=new SpannableString(textview1.getText());
sTextSpannable.setSpan(new BackgroundColorSpan(Color.RED), 2, 3, 0);
sTextSpannable.setSpan(new BackgroundColorSpan(Color.BLUE), 4, 8, 0);
textview1.setText(sTextSpannable);
四 使用Typeface设置文本字体
创建一个LedTextView继承TextView,并在构造方法里使用下面的方法。
private void init(Context context) {
AssetManager assets = context.getAssets();
final Typeface font = Typeface.createFromAsset(assets, FONT_DIGITAL_7);
setTypeface(font);
}
注意:FONT_DIGITAL_7是一个字体文件的路径,想用什么字体把它放到对应的路径里,Android把这些不需要生成ID的文件统一放到assets里面
private static final String FONTS_FOLDER = "fonts";
private static final String FONT_DIGITAL_7 = FONTS_FOLDER + File.separator
+ "digital-7.ttf";
第四个在这边写的不是很清楚,想要弄明白的话可以去http://github.com/Macarse/50AH-code下载,Hack11就是这个例子