我需要做这样的事情。它类似于交错网格视图,但所有图像具有相同的尺寸。我该怎么做呢 ?
问问题
158 次
1 回答
1
终于明白了。诀窍是使用 spancount 2 的交错网格视图,并让第二个和最后一个图像的高度与其他所有图像的高度不同。这是一个例子。
首先获取屏幕宽度。
WindowManager wm = (WindowManager) activity.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
screenWidth = size.x;
现在在 onBindViewHolder 中设置图像。
public void onBindViewHolder(final CustomRecycleViewHolder holder, final int position) {
final Holder myHolder = (Holder) holder;
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inJustDecodeBounds = true;
BitmapFactory.decodeFile(images.get(position), opts);
opts.inJustDecodeBounds = false;
int height;
if (position == 1 || position == (images.size() - 1)) {
height = 150;
} else {
height = 300;
}
Picasso.with(activity)
.load(images.get(position))
.error(R.drawable.ic_empty)
.placeholder(R.drawable.ic_launcher)
.resize(screenWidth / 2, height)
.centerCrop()
.into((myHolder.images));
}
结果
于 2017-01-09T10:48:17.693 回答