一、在开发中可能会涉及到对于组件的字体或文本的字体的修改,可以通过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"可以将英文字母和阿拉伯数字设置成粗体,对中文不起作用。
将中文设置成粗体的方法是: