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

android.text.*相关推荐

  1. Android.text.TextUtils类

    对于字符串处理Android为我们提供了一个简单实用的TextUtils类,如果处理比较简单的内容不用去思考正则表达式不妨试试这个在android.text.TextUtils的类,主要的功能如下: ...

  2. 单元测试(01) 调试过程中遇到 Method isEmpty in android.text.TextUtils not mocked

    异常信息 java.lang.RuntimeException: Method isEmpty in android.text.TextUtils not mocked. See http://g.c ...

  3. Method isEmpty in android.text.TextUtils not mocked

    Method isEmpty in android.text.TextUtils not mocked 解决 在test/java目录下,创建android.text.TextUtils类 packa ...

  4. Android Text文字详解

    Android Text文字详解 1.绘制文字 1.1 普通绘写文字 1.2 单独指定每个文字的位置 1.3 沿路径绘写文字 2.字体样式 2.1 Paint相关样式 2.2 Typeface字体样式 ...

  5. android:text=@string/ ,Android之TextView(文本框)详解

    1.基础属性详解: 通过下面这个简单的界面,我们来了解几个最基本的属性: 布局代码: xmlns:tools="http://schemas.android.com/tools" ...

  6. java.lang.NullPointerException: Attempt to invoke virtual method ‘android.text.Editable android.widg

    问题描述: java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable androi ...

  7. Android Text Layout 框架

    原文位置: http://my.oschina.net/wolfcs/blog/106777 Text Layout,所完成的最主要的功能主要有两点: 正确的处理换行的逻辑. 对于那些复杂语系,如阿拉 ...

  8. android:text和tools:text

    安卓开发中,在写布局代码xml的时候,如果想看到运行之后才能看到的布局效果,但又不想动不动就把应用跑起来,就可以用到tools这个命名空间了. tools命名空间比较特别,该命名空间可以覆盖组件的任何 ...

  9. Android Text的宽高

    测量Text宽度和高度的方法 Paint.measureText(测量文本的宽度) Paint paint = new Paint(); paint.setTextSize(size); float ...

最新文章

  1. 《Mysql数据库及应用》_MySQL数据库及应用
  2. 【已解决】javaweb新建jsp文件报错
  3. 手机常用分页加载loading框
  4. TextView实现自动滚动滚动.
  5. 博士毕业论文悲情致谢引女友回应:学术是一场超越金钱的修行
  6. php 用积分兑换_PHP积分兑换接口demo
  7. 1.6数组-像素翻转
  8. 8.11 Matching Networks 匹配网络
  9. StanfordDB class自学笔记 (3) 查询关系型数据库总览
  10. spotify电脑下载歌曲_Spotify Music Converter mac版下载
  11. android+vmware+wifi,笔记本使用wifi通过vmware workstation+openwrt 实现上网
  12. oracle标准成本的维护,Oracle标准成本计算和平均成本计算比较
  13. 苹果6严重卡顿_苹果手机iOS系统: 如果开放系统降级通道会怎么样?
  14. 在线支付系列【2】支付宝和微信支付发展史
  15. 数据分析36计(24):因果推断结合机器学习估计个体处理效应
  16. 海康威视SDK告警上传功能整合到springboot(一)
  17. Python判断大小写和数字和常用方法
  18. Matlab绘图-详细,全面(二维三维等)
  19. 传Livy闭包head of empty list报错排查步骤
  20. python基础是个什么鬼?

热门文章

  1. HTML标签以及各大浏览器份额、性能
  2. ASEMI代理ADI亚德诺LT8609AJDDM#WTRPBF车规级芯片
  3. git reset --hard HEAD与git revert HEAD区别(简单明了!)
  4. Android 精品开源项目1
  5. Win10快捷键整理
  6. git回退到某个指定的版本,并提交此版本
  7. 关于高考志愿的美好回忆
  8. HTML:利用:after伪元素清除浮动
  9. 静态ip代理软件可以通过哪些渠道免费获取
  10. java 内存参数设置