我在Android Studio应用程序的for循环中创建了imageViews(动态)。 有没有办法删除/缩短创建的空白区域?
LinearLayout layout = (LinearLayout)findViewById(R.id.imageLayout);
for(int i = 0; i < userKeys.size() + 1; i++)
{
System.out.println(userKeys.get(i).toString());
ImageView image = new ImageView(this);
image.setLayoutParams(new android.view.ViewGroup.LayoutParams(1000,1000));
image.setMaxHeight(20);
image.setMaxWidth(20);
// Adds the view to the layout
//layout.addView(image);
layout.addView(image);
Picasso.with(this).load("***************" + userKeys.get(i).toString()).into(image);
}
提前致谢
答案 0 :(得分:2)
设置image.setAdjustViewBounds(true)
和image.setScaleType(something suitable like CenterCrop)
如果您的位图与视图的宽度/高度不同,则setAdjustViewBounds
很重要
请参阅https://developer.android.com/reference/android/widget/ImageView.html了解更多
答案 1 :(得分:0)
尝试添加
centerCrop()
像:
Picasso.with(this).load("*****" + userKeys.get(i).toString()).centerCrop().into(image);
还有其他选项可供选择:
.centerInside()
.fit()
来源:https://futurestud.io/tutorials/picasso-image-resizing-scaling-and-fit
答案 2 :(得分:0)