«

TextView的一些高级应用(自定义字体、显示多种颜色、添加阴影)

时间:2024-3-2 19:53     作者:韩俊     分类: Android


  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”

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


        <p>版权声明:本文为博主原创文章,未经博主允许不得转载。</p>

标签: android

热门推荐