首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

想用SD卡上的图片做Activity背景解决思路

2012-04-13 
想用SD卡上的图片做Activity背景我想使用SD卡上的指定文件作为Activity和其它控件的背景,这样的话,我只需

想用SD卡上的图片做Activity背景
我想使用SD卡上的指定文件作为Activity和其它控件的背景,这样的话,我只需要更换图片就可以换背景了,要实现这个功能,请问一手该怎么做?

我看到的方法,都是需要把图片放到程序的资源库中,这样一来程序会变得很大,二来不能更换,故请教

[解决办法]
可以先把文件转化为字节数组,再转为bitmap,再转为BitmapDrawable,此类是Drawable的子类可以直接设为背景
写了个一段小代码,LZ可以参考下

Java code
try {    LinearLayout ll = (LinearLayout)this.findViewById(R.id.line);    File file = new File(Environment.getExternalStorageDirectory()+"/device.png");    InputStream inputStream = new FileInputStream(file);    long length = file.length();    byte[] bytes = new byte[(int)length];    int offset = 0;    int numRead = 0;    while (offset < bytes.length &&               (numRead= inputStream.read(bytes, offset, bytes.length-offset)) >= 0)      {         offset += numRead;     }           Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);             BitmapDrawable bd= new BitmapDrawable(this.getResources(), bitmap);           ll.setBackgroundDrawable(bd);        } catch (Exception e) {            e.printStackTrace();        } 

热点排行