Android TextView高级特性使用
2013-08-01 21:39
423 查看
TextView一般都是用来显示一段文本,这里说的高级特性主要是一些我们平常不太常用的属性。包括文字阴影、自定义字体、html嵌入多格式、字体加粗、插入图片。这些特性平时开发APP的时候,可能一般使用不多,不过需要的时候却是很有用的特性。
之所以写这篇文章是因为今天修改Launcher里面界面字体的时候,遇到些问题,而Launcher的图标都是TextView做的,因此查找了一些TextView的特殊属性。
(PS:新建的QQ群,有兴趣可以加入一起讨论:Android群:322599434)
1、文字阴影
2、自定义字体
TextView可以使用setTypeface(Typeface)方法来设置文本框内文本的字体,Typeface使用TTF字体文件来设置字体。因此我们只要找到合适的TFT字体文件,然后放到程序里面即可。TFT字体在我们window系统里面就有很多,例如微软雅黑。
在程序中使用Typeface来设置字体:
第一步,在assets目录下新建fonts目录,把TTF字体文件放到这里。
第二步,程序中使用下面代码设置自定义字体:
3、TextView使用Html格式文本
TextView里面支持识别Html格式,因此,我们可以利用Html代码标签定义多元化的TextView显示。
4、字体加粗
在xml布局文件中设置字体加粗:
5、插入图片
插入图片有两种方法,第一种方法使用Html嵌入,不过需要一些转换工作。使用ImageGetter类来对图片的src属性进行转换。
drawableBottom是在文本框内文本的底端绘制指定图像
drawableLeft是在文本框内文本的左边绘制指定图像
drawableRight是在文本框内文本的右边绘制指定图像
drawableTop是在文本框内文本的顶端绘制指定图像
drawablePadding设置文本框内文本与图像之间的间距
Edited by mythou
原创博文,转载请标明出处:http://www.cnblogs.com/mythou/p/3228795.html
之所以写这篇文章是因为今天修改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设置文本框内文本与图像之间的间距
Edited by mythou
原创博文,转载请标明出处:http://www.cnblogs.com/mythou/p/3228795.html
相关文章推荐
- Android TextView高级特性使用
- Android TextView高级特性使用
- Android TextView高级特性使用
- Day4.2--Android高级UI控件之AutoCompleteTextView的使用
- Android 高级UI设计笔记05:使用TextView实现跑马灯的效果
- Day3.2--Android简单UI控件之TextView的高级使用--SpannableString的使用
- Android高级组件AutoCompleteTextView自动完成文本框使用详解
- Android组件的使用:AutoCompleteTextView、Spinner
- android中TextView与Html结合使用实现字体和颜色的不同,并且换行
- Android: 在 TextView 里使用删除线
- Android新特性之CardView的简单使用
- Android基础入门教程——2.4.11 AutoCompleteTextView(自动完成文本框)的基本使用
- android的TextView使用Html(图片显示)格式。。。。。。
- Android使用TextView的onClick不触发解决方案
- Android的TextView使用Html来处理图片显示、字体样式、超链接等
- Android的TextView使用Html来处理图片显示、字体样式、超链接等
- Android系列教程之TextView小组件的使用--附带超链接和跑马灯效果
- Android TextView使用HTML处理字体样式、显示图片等
- Android自动编辑文本框(AutoCompleteTextView)使用方法详解
- Android之TextView的样式类Span的使用具体解释