Reputation: 62419
I am adding ImageView
in LinearLayout
programmatically:
for (int i = 0; i < length; i++) {
final ImageView imageView = new ImageView(getActivity());
imageView.setScaleType(ImageView.ScaleType.CENTER);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(screenWidth / 2, screenHeight / 3);
params.setMargins(10, 10, 10, 10); //SETTING MARGIN HERE
imageView.setLayoutParams(params);
mBrandLinearLayout.addView(imageView); // adding in LinearLayout
Picasso.with(mContext)
.load(mBrandArrayList.get(i).getBrandLogo())
.resize(screenWidth / 2, screenHeight / 2)
.placeholder(R.drawable.ic_photo_24dp)
.error(R.drawable.ic_photo_24dp)
.into(imageView);
}
Without loading images with Picasso it works fine with sample of drawable images but after adding Picasso code it removes Top and Bottom margins.
Note: I have tried to load image first and set image after loading image but it is also not working.
Is there any way to set Margins with Picasso?
Upvotes: 0
Views: 1279
Reputation: 62419
Solved with adding -10 in
new LinearLayout.LayoutParams(screenWidth / 2, screenHeight / 3 - 10);
and
.resize(screenWidth / 2, screenHeight / 3 - 10)
for (int i = 0; i < length; i++) {
final ImageView imageView = new ImageView(getActivity());
imageView.setScaleType(ImageView.ScaleType.CENTER);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(screenWidth / 2, screenHeight / 3 - 10); //ADDED -10
params.setMargins(5, 5, 5, 5);
imageView.setLayoutParams(params);
mBrandLinearLayout.addView(imageView);
Picasso.with(mContext)
.load(mBrandArrayList.get(i).getBrandLogo())
.resize(screenWidth / 2, screenHeight / 3 - 10) //ADDED -10
.placeholder(R.drawable.ic_photo_24dp)
.error(R.drawable.ic_photo_24dp)
.into(imageView);
}
Upvotes: 1