Android的 - 如何显示从资源绘制图像? [英] Android - How to show images from resources drawable?

查看:289
本文介绍了Android的 - 如何显示从资源绘制图像?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不能够证明其保存在RES /文件夹绘制的图像。
我用ImageGetter做到这一点。在code是如下:

  ImageGetter imageGetter3 =新ImageGetter(){
    公众可绘制getDrawable(字符串源){
        INT标识= 0;
        如果(source.equals(笑脸)){
            ID = R.drawable.smiley;
        }
        可拉伸D = getResources()getDrawable(ID)。
        d.setBounds(0,0,d.getIntrinsicWidth(),d.getIntrinsicHeight());
        返回D组;
    }
};方向+ =济弯曲BIJ lokaal+ vertrek.getNaam()+\\ n
           +站遇到了济地毯VOOR德deur \\ n
           + Html.fromHtml(< IMG SRC = \\笑脸\\>中,imageGetter3,空)+Draai NAAR链接\\ n;

我看到的运行时,屏幕上是与它目标文件文本的小广场。
那么,什么是错的?图像无法读取或别的东西吗?
如何显示图像?

老实说,我用Google搜索了很多,并试图ImageGetter的其他方法为好,但他们都不似乎工作,我想这些也一样,他们没有工作:

  ImageGetter imageGetter2 =新ImageGetter(){
 公众可绘制getDrawable(字符串源){
      可绘制D = NULL;
      D = Drawable.createFromPath(源);
      d.setBounds(0,0,d.getIntrinsicWidth(),d.getIntrinsicHeight());
      返回D组;
 }
};ImageGetter imageGetter =新ImageGetter(){
 公众可绘制getDrawable(字符串源){
     可绘制drawFromPath;
     INT路径= Route.this.getResources()则getIdentifier(来源:绘制,com.prj56.tracingapp);
     drawFromPath =(可绘制)Route.this.getResources()getDrawable(路径)。
     drawFromPath.setBounds(0,0,drawFromPath.getIntrinsicWidth(),drawFromPath.getIntrinsicHeight());
     返回drawFromPath;
 }
};

=============================================== ==========
    如果(....){
        ImageView的IV1 =新ImageView的(本);
        iv1.setImageResource(R.drawable.smiley);

 方向+ =济弯曲BIJ lokaal+ vertrek.getNaam()+\\ n
       +站遇到了济地毯VOOR德deur \\ N的;
       来这里的形象!但如何做到这一点?它的方向的TextView内...
    方向+ =Draai NAAR链接\\ n;}


解决方案

在你的活动,你可以调用这个让你绘制资源作为可绘制对象

 可绘制D = getResources()getDrawable(R.drawable.smiley)。

如果你想显示你的绘制在ImageView的,你可以这样做:

  ImageView的I =新ImageView的(本);
i.setImageResource(R.drawable.smiley);

或XML文件

 < ImageView的
  机器人:layout_width =WRAP_CONTENT
  机器人:layout_height =WRAP_CONTENT
  机器人:SRC =@绘制/笑脸/>

I'm not able to show an image which is saved in res/drawable folder. I use ImageGetter to do this. The code is below:

ImageGetter imageGetter3 = new ImageGetter() {                
    public Drawable getDrawable(String source) { 
        int id=0; 
        if (source.equals("smiley")) { 
            id = R.drawable.smiley; 
        } 
        Drawable d = getResources().getDrawable(id); 
        d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); 
        return d; 
    } 
};

directions += "Je bent bij lokaal " + vertrek.getNaam() + "\n" 
           + "Sta met je rug voor de deur\n" 
           + Html.fromHtml("<img src=\"smiley\">", imageGetter3, null) + " Draai naar links\n";

What I see on the screen when running is a little square with "obj" text on it. So what is wrong? The image cannot be read or something else? How to show images?

Honestly I have Googled a lot and tried other methods of ImageGetter as well, but none of them seems to work, I tried these too, they don't work:

ImageGetter imageGetter2 = new ImageGetter() { 
 public Drawable getDrawable(String source) { 
      Drawable d = null; 
      d = Drawable.createFromPath(source); 
      d.setBounds(0,0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); 
      return d; 
 } 
};

ImageGetter imageGetter = new ImageGetter() {                
 public Drawable getDrawable(String source) { 
     Drawable drawFromPath; 
     int path = Route.this.getResources().getIdentifier(source, "drawable","com.prj56.tracingapp"); 
     drawFromPath = (Drawable) Route.this.getResources().getDrawable(path); 
     drawFromPath.setBounds(0, 0, drawFromPath.getIntrinsicWidth(), drawFromPath.getIntrinsicHeight()); 
     return drawFromPath; 
 } 
};  

========================================================= if (....) { ImageView iv1 = new ImageView(this); iv1.setImageResource(R.drawable.smiley);

    directions += "Je bent bij lokaal " + vertrek.getNaam() + "\n" 
       + "Sta met je rug voor de deur\n";
       HERE COMES THE IMAGE! BUT HOW TO DO THIS? It's within directions textview...
    directions += " Draai naar links\n";

}

解决方案

In your activity you can call this to get your Drawable resource as a Drawable object

Drawable d = getResources().getDrawable(R.drawable.smiley);

If you want to show your drawable in an ImageView you can do this:

ImageView i = new ImageView(this);
i.setImageResource(R.drawable.smiley);

or in your xml file

<ImageView   
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:src="@drawable/smiley"/>

这篇关于Android的 - 如何显示从资源绘制图像?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆