【TextView】Android TextView相关操作

来源:互联网 发布:windows最新版本 编辑:程序博客网 时间:2024/05/21 01:55

一、在开发中可能会涉及到对于组件的字体或文本的字体的修改,可以通过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);


原创粉丝点击