将url中的位图设置为android中的actionbar主页图标

时间:2013-07-12 22:04:44

标签: android-actionbar android-image

我想从网址下载图片,并在运行时将其设置为操作栏中的主图标。我正在使用AsyncTask来执行它,但它似乎没有改变它。有什么想法吗?

class getProfilePicture extends AsyncTask<Void, Void, Void> {

        protected Void doInBackground(Void... params) {
            try {
                URL url;
                url = new URL("http://www.i2clipart.com/cliparts/2/a/3/2/clipart-fcrc-logo-handshake-2a32.png");
                HttpURLConnection conn = (HttpURLConnection) url
                        .openConnection();
                conn.setDoInput(true);
                conn.connect();
                InputStream is = conn.getInputStream();
                image = BitmapFactory.decodeStream(is);

            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;

        }

    protected void onPostExecute() {
        // TODO: check this.exception
        Resources res = getResources();
        BitmapDrawable icon = new BitmapDrawable(res, image);
        getSupportActionBar().setIcon(icon);
        //getSupportActionBar().setLogo(icon);
        }
    }

1 个答案:

答案 0 :(得分:0)

你可以尝试这个kotlin代码

Glide.with(this).load(imageUrl).asBitmap().into(object : SimpleTarget<Bitmap>() {
                    override fun onResourceReady(resource: Bitmap?, glideAnimation: GlideAnimation<in Bitmap>?) {
                        val drawable = BitmapDrawable(resources, resource)
                        supportActionBar?.setIcon(drawable)
                    }
                })