1.SpannableString
用于对文本进行各种style设置,之后把此类对象给TextView.setText(SpannableString)显示出来。其中android.text.style包下的类全是给此类设置的span。通过方法setSpan(Object what, int start, int end, int flags)设置参数。其中最后一个参数来自android.text.Spanned
SPAN_EXCLUSIVE_EXCLUSIVE 只设置指定范围。
SPAN_EXCLUSIVE_INCLUSIVE 设置指定范围,并作用到之后的范围。
SPAN_INCLUSIVE_EXCLUSIVE 设置指定范围,并作用到之前的范围。
SPAN_INCLUSIVE_INCLUSIVE 前后与指定范围都起作用。
附加到SpannableString上的键值对,用于保存与取出,不参与显示。保存方法:
ss.setSpan(new Annotation("name", "tome"), 0, 0, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
后面的三个参数没有实际意义。取出时前面两参数没意义。
存到TextView之前是取出保存的键值对:
SpannedString s = (SpannedString) text.getText();
Annotation at = s.getSpans(0, 0, Annotation.class)[0];
System.out.println(at.getKey()+">>"+at.getValue());
注意:保存到TextView之前用SpannableString,从TextView中获取时是SpannedString。
以下传自:http://www.2cto.com/kf/201205/129952.html
1. 自定义字体
可以使用setTypeface(Typeface)方法来设置文本框内文本的字体,而android的Typeface又使用TTF字体文件来设置字体
所以,我们可以在程序中放入TTF字体文件,在程序中使用Typeface来设置字体:第一步,在assets目录下新建fonts目录,把TTF字体文件放到这里。第二步,程序中调用:
TextViewtv = (TextView)findViewById(R.id.textView);
AssetManagermgr=getAssets();//得到AssetManager
Typefacetf=Typeface.createFromAsset(mgr, "fonts/mini.TTF");//根据路径得到Typeface
tv.setTypeface(tf);//设置字体
效果如下图所示:
2. 显示多种颜色的字
Android支持html格式的字符串,通过调用Html.fromHtml(str)方法可以转换html格式的字符串str。
示例如下:
StringtextStr1 = "<font color=\"#ffff00\">如果有一天,</font><br>";
StringtextStr2 = "<font color=\"#00ff00\">我厌倦了这里,</font><br>";
StringtextStr3 = "<font color=\"#ff00ff\">我会乘着梦,</font><br>";
StringtextStr4 = "<font color=\"#00ffff\">飞向那个属于自己的<br>世界……</font><br>";
tv.setText(Html.fromHtml(textStr1+textStr2+textStr3+textStr4));
运行后效果如下:
3. 字体加粗
在xml布局文件中使用android:textStyle=”bold”可以将英文设置成粗体,但是不能将中文设置成粗体,将中文设置成粗体的方法是:使用TextPaint的仿“粗体”设置setFakeBoldText为true。示例代码如下:
tv.getPaint().setFakeBoldText(true);
效果如下:
4. 添加阴影
在xml布局文件中使用一系列android:shadowXXX属性可添加设置阴影。具体为:shadowColor设置阴影颜色;shadowDx设置阴影水平偏移量;shadowDy设置阴影垂直偏移量;shadowRadius设置阴影半径。
示例代码:
android:shadowColor="#ffffff"
android:shadowDx="15.0"
android:shadowDy="5.0"
android:shadowRadius="2.5"
显示效果如下:
----------------------------------------------------------------------------------------------------
2.View的滚动条与滚动(View的方法)
滚动条出现条件为内容超出显示区域。
在XML中设置
android:scrollbars="vertical"
属性能指定滚动的方向。
android:fadeScrollbars="false"
属性指定滚动条一直处于显示状态。
android:scrollbarStyle="insideInset"
属性指定滚动条所占区域位置,一共4中状态值。
如果要滚动条能滑动,需要设置
text.setMovementMethod(ScrollingMovementMethod.getInstance());
3.setKeyListener用来限制输入内容
通过调用TextView的setKeyListener(KeyListener input)方法来指定输入内容,此方法会使setInputType指定的属性无效。
比如:参数为DialerKeyListener对象,那么输入内容限定为电话号码了。
在次建议最好自己写个类继承NumberKeyListener,重写方法char[] getAcceptedChars(),返回的数组就是只被允许输入的数字或者字符内容