【问题标题】:How to set background image to activity layout using Picasso Library in android如何在android中使用毕加索库将背景图像设置为活动布局
【发布时间】:2015-05-20 08:15:33
【问题描述】:

我正在使用 picasso 库从服务器加载图像。我可以使用 Picasso 将背景图像设置为 ImageView。但我无法使用相同的设置背景图像。我也尝试了不同的方法将图像设置为活动布局背景。请帮帮我。

我的代码如下:

 
Picasso.with(getApplicationContext()).load("@987654321@").into(new Target() {

        @Override
        public void onPrepareLoad(Drawable arg0) {
            // TODO Auto-generated method stub
            Toast.makeText(getApplicationContext(), "Start Loading", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onBitmapLoaded(Bitmap bitmap, LoadedFrom arg1) {
            // TODO Auto-generated method stub
            loginLayout.setBackground(new BitmapDrawable(getApplicationContext().getResources(), bitmap));
        }

        @Override
        public void onBitmapFailed(Drawable arg0) {
            // TODO Auto-generated method stub
            Toast.makeText(getApplicationContext(), "Failed Loading", Toast.LENGTH_SHORT).show();
        }
    });

【问题讨论】:

    标签: android picasso


    【解决方案1】:

    尝试使用 setBackgroundDrawable 代替 setBackground

    @Override
        public void onBitmapLoaded(Bitmap bitmap, LoadedFrom arg1) {
            // TODO Auto-generated method stub
            loginLayout.setBackgroundDrawable(new BitmapDrawable(getApplicationContext().getResources(), bitmap));
        }
    

    【讨论】:

      【解决方案2】:

      尝试使用目标

      Target target = new Target() {
              @Override
              public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
                  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
                      activityLayout.setBackgroundDrawable(new BitmapDrawable(context.getResources(), bitmap));
                  }
              }
      
              @Override
              public void onBitmapFailed(final Drawable errorDrawable) {
              }
      
              @Override
              public void onPrepareLoad(final Drawable placeHolderDrawable) {
              }
          };
          Picasso.with(getActivity()).load(url).into(target);
      

      【讨论】:

        猜你喜欢
        • 2014-08-21
        • 2015-06-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多