android.text.*

来源:互联网 发布:婚礼电子请柬软件 编辑:程序博客网 时间:2024/05/16 09:02
对于TextView的各种设置属性了解的比较少,而偶尔明白了些又由于用不到导致遗忘,开此文以作记录,记录遇到的与TextView有关的类与方法。
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    前后与指定范围都起作用。

(1)Annotation
附加到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(),返回的数组就是只被允许输入的数字或者字符内容


原创粉丝点击