从外部源显示图像按钮

时间:2013-05-30 21:30:54

标签: android imagebutton

我正在开展一个项目,我需要显示图像按钮,其中一些图像保存在SD卡或网址中。我怎样才能做到这一点?或者什么是最佳实践? 目的是更改按钮上的图像,只更换SD卡中的文件。 如果我不知道将来会显示哪些图像,还有其他解决方案吗? THX

2 个答案:

答案 0 :(得分:1)

以下是如何将图像从URL加载到Drawable对象中:

InputStream is = (InputStream) new URL("http://my.url/path/to/image").getContent();
Drawable buttonBg = Drawable.createFromStream(is, null);

然后将其设置为背景:

button.setBackgroundDrawable(buttonBg);

或API 16+使用:

button.setBackground(buttonBg);

如果要从文件中读取,请使用FileInputStream,如下所示:

FileInputStream fis = openFileInput("/my/path/to/image"); 
Drawable buttonBg= Drawable.createFromStream(fis, null);

答案 1 :(得分:0)

@carmex 解决:



    ImageButton box1 = (ImageButton)findViewById(R.id.box1);
    Drawable drawable = GetImg("path/to/image.jpg"); 
    box1.setBackground(drawable); 


    private Drawable GetImg(String url) 
    { 
     try 
     { 
      InputStream is = (InputStream) new URL(url).getContent(); 
      Drawable d = Drawable.createFromStream(is, "src name"); 
      return d; 
     }
     catch (Exception e) 
    { 
    System.out.println("Err="+e); return null; 
    } 
    }

很多。