毕加索设置背景图片

时间:2017-12-29 18:43:26

标签: android picasso

所以我一直试图通过Picasso为我的LinearLayout加载背景图片一段时间。我尝试了几种不同的方法,但似乎没有一种方法可行。

方法1:

Picasso.with(LoginActivity.this).load(R.drawable.login_background).into(new Target() {
            @Override
            public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
                loginLayout.setBackground(new BitmapDrawable(LoginActivity.this.getResources(), bitmap));
            }

            @Override
            public void onBitmapFailed(Drawable errorDrawable) {
                // Implement Logic
            }

            @Override
            public void onPrepareLoad(Drawable placeHolderDrawable) {
                // Implement Logic
            }
        });

我还读到目标可能是垃圾收集的。即使在通过自定义布局考虑到这一点之后,也没有背景图像。

方法2:

final ImageView background = new ImageView(LoginActivity.this);
        Picasso.with(background.getContext())
                .load(R.drawable.login_background)
                .fit()
                .into(background, new com.squareup.picasso.Callback() {
                    @Override
                    public void onSuccess() {
                        loginLayout.setBackgroundDrawable(background.getDrawable());
                    }

                    @Override
                    public void onError() {

                    }
                });*/

我不知道为什么这不起作用。

方法3:

BitmapDrawable loginBackground = (BitmapDrawable) LoginActivity.this.getResources().getDrawable(R.drawable.login_background);
        int width = loginBackground.getBitmap().getWidth();
        int height = loginBackground.getBitmap().getHeight();
        ImageView background = new ImageView(LoginActivity.this);
        Picasso.with(background.getContext())
                .load(R.drawable.login_background)
                .resize(width, height)
                .centerCrop()
                .into(background);
        if (background.getDrawable() != null) System.out.println("BACKGROUND NOT NULL");
        loginLayout.setBackground(background.getDrawable());

我尝试在这里创建自己的BitMapDrawable并通过Picasso加载内容。最后,我设置了背景。

任何帮助将不胜感激!

0 个答案:

没有答案