una poner importar imagenes imagen formulario form fondo contenedor como codigo java android picasso android-scrollview android-relativelayout

importar - poner imagen en jpanel java



¿Cómo configuro la imagen de fondo con picasso en el código? (2)

Sé que picasso carga la imagen en imageview, etc. pero, ¿cómo configuro la imagen de fondo de mi diseño utilizando picasso? Por favor, cualquier ayuda será útil.

Mi código:

public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.relativelayout); relativeLayout.setBackgroundResource(R.drawable.table_background); Picasso.with(MainActivity.this) .load(R.drawable.table_background) .resize(200, 200) .into(relativeLayout); return relativeLayout; }

Lo que tengo aquí da un error diciendo que no se puede resolver. Tengo un ScrollView y diseños relativos


La mejor manera de crear una transformación personalizada, por ejemplo, para el color de relleno:

public class BackgroundColorTransform implements Transformation { @ColorInt int mFillColor; public BackgroundColorTransform(@ColorInt int color) { super(); mFillColor = color; } @Override public Bitmap transform(Bitmap bitmap) { // Create another bitmap that will hold the results of the filter. int width = bitmap.getWidth(); int height = bitmap.getHeight(); Bitmap out = Bitmap.createBitmap(width, height, bitmap.getConfig()); Canvas canvas = new Canvas(out); Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); canvas.drawColor(mFillColor); canvas.drawBitmap(bitmap, 0f, 0f, paint); bitmap.recycle(); return out; } @Override public String key() { return "BackgroundColorTransform:"+mFillColor; } }

Uso:

mPicasso.load(imageUrl) .transform(new BackgroundColorTransform(ContextCompat.getColor(getContext(),R.color.black))) .into(mLogoImageView);

Si desea agregar una imagen vectorDrawable use la transformación:

public class AddVectorDrawableTransform implements Transformation { private Drawable mDrawable; @ColorInt int mTintColor; public AddVectorDrawableTransform(Drawable drawable, @ColorInt int tintColor) { super(); mDrawable = drawable; mTintColor = tintColor; } @Override public Bitmap transform(Bitmap bitmap) { // Create another bitmap that will hold the results of the filter. int width = bitmap.getWidth(); int height = bitmap.getHeight(); Bitmap out = Bitmap.createBitmap(width, height, bitmap.getConfig()); Canvas canvas = new Canvas(out); Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); canvas.drawBitmap(bitmap, 0f, 0f, paint); Drawable drawable = mDrawable.mutate(); drawable = DrawableCompat.wrap(drawable); DrawableCompat.setTint(drawable, mTintColor); DrawableCompat.setTintMode(drawable, PorterDuff.Mode.SRC_IN); // mDrawable.setColorFilter( mTintColor, PorterDuff.Mode.MULTIPLY); drawable.setBounds(width/4, height/4, 3*width/4, 3*height/4); drawable.draw(canvas); bitmap.recycle(); return out; } @Override public String key() { return "AddDrawableTransform:"+mDrawable+", "+mTintColor; } }


Utilizar callback de picasso.

Picasso.with(getActivity()).load(R.drawable.table_background).into(new Target(){ @Override public void onBitmapLoaded(Bitmap bitmap, LoadedFrom from) { mainLayout.setBackground(new BitmapDrawable(context.getResources(), bitmap)); } @Override public void onBitmapFailed(final Drawable errorDrawable) { Log.d("TAG", "FAILED"); } @Override public void onPrepareLoad(final Drawable placeHolderDrawable) { Log.d("TAG", "Prepare Load"); } })

ACTUALIZAR:

Por favor verifique this también. Como @OlivierH mencionado en el comentario.