zoukankan      html  css  js  c++  java
  • TextView的一些高级应用(自定义字体、显示多种颜色、添加阴影)

    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”
    插入图片后的显示效果如下:


  • 相关阅读:
    指针、数组和结构体的一些思考
    Leetcode589.N-ary Tree Preorder TraversalN叉树的前序遍历
    Leetcode563.Binary Tree Tilt二叉树的坡度
    Leetcode559.Maximum Depth of N-ary TreeN叉树的最大深度
    Leetcode561.Array Partition I数组拆分1
    Leetcode551.Student Attendance Record I学生出勤记录1
    Leetcode543.Diameter of Binary Tree二叉树的直径
    Leetcode520Detect Capital检测大写字母
    Leetcode532.K-diff Pairs in an Array数组中的K-diff数对
    Leetcode496.Next Greater Element I下一个更大的元素1
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/3988113.html
Copyright © 2011-2022 走看看