zoukankan      html  css  js  c++  java
  • android---textview控件学习笔记之显示表情图片和文本(二)

    案例二:
    在TextView中显示表情图像和文本
    第一步:
    在layout。xml中设置
    <textview
          id
          layout_width
          layout_height
          layout_margin----对齐等同于左上右下的边距总和---直接跟像素dp
          background----背景颜色---直接跟颜色属性
          text----显示主题---字符串
     
    >
    第二部:
    在activity中操作
    //构造函数
    public int getResultId(String name)
    {
         try {
            //根据资源ID的变量名获得Field的对象,使用反射机制来实现的
              Fileld field = R.drawable.calss.getField(name);
           //取得并返回资源的id的字段(静态变量)的值,使用反射机制
             return Integer.parseInt(field.get(null).toString());
    }  
        catch (Exception e){     
    }
        return 0 ;
    }
     
    protect 方法体
    {
    textview textview = (textview )this.findviewbyid(r.id.textview);
    textview.setcolor(color.black);
    textview.setbackgroundcolor(color,white);
    stextview.settextsize();
    string html = "图像1<img src = 'image1'/>"
                       "图像2<img src = 'image2'/>"
                       "图像3<img src = 'image3'/>";
    html _+= "图像4<a href = 'www.baidu.com'><img src = 'image4'/></a>";
                 
     
    html.fromhtml(html,new  imagegetter()
    {
         public drawable getdrawable(string source)
    {
           //获得系统资源的信息,比如图片消息
          public drawable = getresources().getdrawable(getresourceid(source));--声明一个drawable变量,并将后面方法的返回值id赋给变量,
    比较id是否相等,从而设置id对象的显示效果
    if (source.equals("image3"))
    {
        //第三个图片文件按照50%的比例进行压缩
       drawable.setbounds(0,0,drawablel.getintrinsicwidth()/2,)drawable.getintrinsicheight()/2;
    }
    else {
    drawable.setbounds(0,0,drawablel.getintrinsicwidth(),)drawable.getintrinsicheight();
    }
    return drawable;
    }
    },null);
    textview.settext(charsequence)  
    textview.setmovementmethod(linkmovementmethod.getinstance());
    }
     
    重点:
    1、getresultid ---通过系统资源id找到field对象,从而通过id返回相应的值
    2、html.fromhtml方法----从html字符串中在text中返回并显示出来
    3、getdrawable()方法----通过资源id返回一个drawable对象
    4、getresourcesid()方法----通过参数,得到该id
     
    但是下面这段有一点不是很懂,不知道为什么要写这段代码,有什么作用?
    public int getResultId(String name)
    {
         try {
            //根据资源ID的变量名获得Field的对象,使用反射机制来实现的
              Fileld field = R.drawable.calss.getField(name);
           //取得并返回资源的id的字段(静态变量)的值,使用反射机制
             return Integer.parseInt(field.get(null).toString());
    }  
        catch (Exception e){     
    }
        return 0 ;
    }
     
  • 相关阅读:
    ps切图保存所有切片为png
    指法练习 V1.0_haley(指法练习工具)
    zoj 4020 The 18th Zhejiang University Programming Contest Sponsored by TuSimple
    CF 某套题 O :Grid (简单BFS)
    codeforces 某套题s : surf(贪心 || 动态规划)
    STL模板整理 全排列
    STL模板整理 priority_queue
    STL模板整理 pair
    STL模板整理 set
    第八届省赛 B:Quadrat (打表找规律)
  • 原文地址:https://www.cnblogs.com/android-dev/p/3192309.html
Copyright © 2011-2022 走看看