android的textview还是很容易调整的,
属性android:textScaleX是调节textview的X轴的放大缩小的,它的值是一个float型。
setTextScaleX(a.getFloat(attr, 1.0f));
行间距,可以设置属性android:lineSpacingExtra或android:lineSpacingMultiplier。
1、android:lineSpacingExtra
设置行间距,如”3dp”。
2、android:lineSpacingMultiplier设置行间距的倍数,如”1.2″。
但是以上都是字体的拉伸。还有的需求不需要拉伸字体,只需要改变间距:
设置android:letterSpacing,android:letterSpacing的值是一个浮点数,为标准字体的倍数作为间距。
android:letterSpacing="0.1"
也可以设置字体。很多字体都有内间距
Typeface typeface1 = Typeface.createFromAsset(getAssets(),"fonts/SEGOEUI.TTF"); title_question_page_title.setTypeface(typeface1);
也可以选择部分字段改变颜色和字体大小
SpannableString spannableString = new SpannableString(answer1); spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FDBF0A")),mKaoyanTestInfo.length(),mKaoyanTestInfo.length()+3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE ); title_question_title.setText(spannableString);
最后就是如果还是不满足,可以把String当作html字符串来写进去嘛。那就是改变html的属性了,基本可以满足所有需求
answer1 = "<font color=\"red\">【红色字体部分】</font>" + mKaoyanTestInfo;
title_question_title.setText(Html.fromHtml(answer1));
然后又遇到一个textview的字体斜体,发现textview的内容右边少了一块。解决方法就是重写textview
更简单的解决方法就是内容多加一个空格就好。如:"text内容 "