控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

Android TextView高级特性使用

作者:未知 出处:cnblog 2013年08月01日 阅读:

 TextView一般都是用来显示一段文本,这里说的高级特性主要是一些我们平常不太常用的属性。包括文字阴影、自定义字体、html嵌入多格式、字体加粗、插入图片。这些特性平时开发APP的时候,可能一般使用不多,不过需要的时候却是很有用的特性。

 
  之所以写这篇文章是因为今天修改Launcher里面界面字体的时候,遇到些问题,而Launcher的图标都是TextView做的,因此查找了一些TextView的特殊属性。
 
 (PS:新建的QQ群,有兴趣可以加入一起讨论:Android群:322599434)
 
  
 
1、文字阴影
 
 
//Edited by mythou//http://www.cnblogs.com/mythou/android:shadowColor="#000000"
android:shadowDx="15.0"
android:shadowDy="5.0"
android:shadowRadius="2.5"  shadowColor设置阴影颜色;shadowDx设置阴影水平偏移量;shadowDy设置阴影垂直偏移量;shadowRadius设置阴影半径。这里需要说明一点是,如果需要阴影和原字体重叠,需要设置shadowDx和shadowDy为-1,并且把shadowRadius设置大一点。我们可以直接把上面属性嵌入到TextView标签,也可以使用<style>来定义。
 
 
//Edited by mythou//http://www.cnblogs.com/mythou/<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="LauncherWorkspaceText">
    <item name="android:paddingLeft">4px</item>
    <item name="android:paddingBottom">4px</item>
    <item name="android:textColor">#FFFFFF</item>
    <item name="android:textSize">60sp</item>
    <item name="android:shadowColor">#000000</item>
    <item name="android:shadowDx">-1</item>
    <item name="android:shadowDy">-1</item>
    <item name="android:shadowRadius">4</item>
</style>
</resources>上面是我定义的一个用于Launcher界面按钮文字大小的Style标签,在使用的时候,可以直接引用这个Style即可。
 
 
//Edited by mythou//http://www.cnblogs.com/mythou/<TextView 
   style="@style/LauncherWorkspace" 
   android:id="@+id/player"
   android:layout_width="160dp" 
   android:layout_height="160dp"
   android:background="@drawable/player"
/> 
 
2、自定义字体
 
  TextView可以使用setTypeface(Typeface)方法来设置文本框内文本的字体,Typeface使用TTF字体文件来设置字体。因此我们只要找到合适的TFT字体文件,然后放到程序里面即可。TFT字体在我们window系统里面就有很多,例如微软雅黑。
 
在程序中使用Typeface来设置字体:
 
第一步,在assets目录下新建fonts目录,把TTF字体文件放到这里。
 
第二步,程序中使用下面代码设置自定义字体:
 
 
//Edited by mythou//http://www.cnblogs.com/mythou/TextView  tv = (TextView)findViewById(R.id.textView);
//得到AssetManager
AssetManagermgr=getAssets();
//根据路径得到Typeface
Typefacetf=Typeface.createFromAsset(mgr, "fonts/yahei.TTF");
//设置字体
tv.setTypeface(tf); 
 
3、TextView使用Html格式文本
 
TextView里面支持识别Html格式,因此,我们可以利用Html代码标签定义多元化的TextView显示。
 
//Edited by mythou//http://www.cnblogs.com/mythou/String textStr1 = "<font color=\"#ffff00\">Html颜色标签测试</font><br>"; tv.setText(Html.fromHtml(textStr1)); 
 
4、字体加粗
 
在xml布局文件中设置字体加粗:
 
android:textStyle=”bold”  这个属性可以将英文设置成粗体,但是不能将中文设置成粗体,将中文设置成粗体的方法是:使用TextPaint的仿“粗体”设置setFakeBoldText为true。
 
tv.getPaint().setFakeBoldText(true); 
 
5、插入图片
 
  插入图片有两种方法,第一种方法使用Html嵌入,不过需要一些转换工作。使用ImageGetter类来对图片的src属性进行转换。
 
 
//Edited by mythou//http://www.cnblogs.com/mythou/String imgStr = "<img src=\""+R.drawable.player+"\"/>";
Html.ImageGetter imageGetter = new Html.ImageGetter() 
{
         public Drawable getDrawable(String arg0) 
        {
                   // TODO Auto-generated methodstub
                   int id =Integer.parseInt(arg0);
                   Drawable draw =getResources().getDrawable(id);
                   draw.setBounds(5, 5, 160,160);
                   return draw;
         }
};  //设置图片  tv.append(Html.fromHtml(imgStr,imageGetter,null));第二种方法是使用xml布局文件的android:drawableXXX属性来实现插入图片。
 
drawableBottom是在文本框内文本的底端绘制指定图像
 
drawableLeft是在文本框内文本的左边绘制指定图像
 
drawableRight是在文本框内文本的右边绘制指定图像
 
drawableTop是在文本框内文本的顶端绘制指定图像
 
drawablePadding设置文本框内文本与图像之间的间距
 

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统