Android 开发TextView 部分字符高亮
2010-08-26 00:02:00 来源:WEB开发网TextView 部分字体高
[功能]
TextView是不支持部分字段高亮的 但是我们可以进行扩展
[思路]
1. 利用LinearLayout 作为 TextView 的 容器
2. 字符串中每个字都使用一个TextView显示之
3. 还可以使用*.9.png来作为所有TextView的背景 使之看上去成为整体
[思路 步骤]
1. 定义TextSelectionHelper 构造函数 传入 Activity上下文 及 子View对齐方式 以及 layout_width layout_height
Java代码
public class TextHighlightHelper{
Activity activity;
LinearLayout lLayout;
public TextHighlightHelper(Activity a,int l){
activity = a;
lLayout = new LinearLayout(activity);
lLayout.setOrientation(l);
lLayout.setLayoutParams(
new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT));
}
}
public class TextHighlightHelper{
Activity activity;
LinearLayout lLayout;
public TextHighlightHelper(Activity a,int l){
activity = a;
lLayout = new LinearLayout(activity);
lLayout.setOrientation(l);
lLayout.setLayoutParams(
new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT));
}
}
2. 定义函数 用于接收字符串
Java代码
//之所以每个字符都分别用一个TextView显示之 因为这样做 会使得后面颜色设定非常容易
public void addText(CharSequence cs){
for(int i=0;i
TextView tv = new TextView(activity);
tv.setText(cs.charAt(i)+"");
lLayout.addView(tv);
}
}
//之所以每个字符都分别用一个TextView显示之 因为这样做 会使得后面颜色设定非常容易
public void addText(CharSequence cs){
更多精彩
赞助商链接