展会信息港展会大全

TextView的一些高级显示
来源:互联网   发布日期:2015-11-25 22:21:22   浏览:2063次  

导读:1.自定义字体可以使用setTypeface(Typeface)方法来设置文本框内文本的字体,而android的Typeface又使用TTF字体文件来设置字体所以,我们可以在程序...

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"

显示效果如下:

5.插入图片

插入图片有两种方法,第一种方法就是用上面说的html格式的字符串,不过转换稍微有些麻烦。需要用到ImageGetter类来对图片的src属性进行转换。示例代码如下:

StringimgStr = "<img src=\""+R.drawable.sidai+"\"/>";

Html.ImageGetterimageGetter = new Html.ImageGetter() {

public Drawable getDrawable(Stringarg0) {

// TODO Auto-generated methodstub

int id =Integer.parseInt(arg0);

Drawable draw =getResources().getDrawable(id);

draw.setBounds(10, 10, 228,300);

return draw;

}

};

tv.append(Html.fromHtml(imgStr,imageGetter,null));

第二种方法是使用xml布局文件中一系列android:drawableXXX属性来实现插入图片。具体为:drawableBottom是在文本框内文本的底端绘制指定图像;drawableLeft是在文本框内文本的左边绘制指定图像;drawableRight是在文本框内文本的右边绘制指定图像;drawableTop是在文本框内文本的顶端绘制指定图像;drawablePadding设置文本框内文本与图像之间的间距。示例代码:

android:drawableBottom=”@drawable/sidai”

插入图片后的显示效果如下:

摘自 北京大学-Google Android实验室

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港