现在的位置: 首页 > 综合 > 正文

Android TextView相关操作

2013年05月23日 ⁄ 综合 ⁄ 共 1133字 ⁄ 字号 评论关闭

一、在开发中可能会涉及到对于组件的字体或文本的字体的修改,可以通过Spannable来进行修改字体

TextView tv = new TextView(this);

tv.setText("字体大小进行设置");

 

// 创建Spannable对象

Spannable span = new SpannableString(tv.getText());

 

/* 通过setSpan(Object ,int start,int end,int flag)对特定的内容进行设置

 * 其中AbsoluteSizeSpan是决定字体大小

 */

 

span.setSpan(new AbsoluteSizeSpan(11),0,2,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

span.setSpan(new AbsoluteSizeSpan(21),3,6,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

 

tv.setText(span);

二、在Android
TextView
中有个内容过长加省略号的属性,即ellipsize,用法如下

在xml中:

android:ellipsize = "end"    省略号在结尾
android:ellipsize = "start"   省略号在开头
android:ellipsize = "middle"     省略号在中间
android:ellipsize = "marquee"  跑马灯
	最好加一个约束android:singleline = "true"

也可以用代码语句

tv.setEllipsize(TextUtils.TruncateAt.valueOf("END"));
	tv.setEllipsize(TextUtils.TruncateAt.valueOf("START"));
	tv.setEllipsize(TextUtils.TruncateAt.valueOf("MIDDLE"));
	tv.setEllipsize(TextUtils.TruncateAt.valueOf("MARQUEE"));
最好再加一个约束tv.setSingleLine(true);

不仅对于textview有此属性,对于editext也有,不过它不支持marquee

三、TextView设置中文粗体

在xml布局文件中设置android:textStyle="bold"可以将英文字母和阿拉伯数字设置成粗体,对中文不起作用。

将中文设置成粗体的方法是:

TextView textView = (TextView)findViewById(R.id.textView);
TextPaint tp = textView .getPaint();
tp.setFakeBoldText(true);

抱歉!评论已关闭.