とりあえず、最初と最後の余白を…どうとかという記事を思い出して細工。
【MyAdapter.java】
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
if ( iImagePaths != null ) {
Bitmap bitmap = loadImage(iImagePaths.get(position));
if (bitmap != null) {
holder.imageView.setImageBitmap(bitmap);
}
}
if ( iNames != null ) {
holder.textView.setText(iNames.get(position));
}
if ( holder.getAdapterPosition() == 0 ) { // 最初の時
int le = holder.linearLayout.getPaddingLeft(); // 元々の余白を保存
int to = holder.linearLayout.getPaddingTop();
int bo = holder.linearLayout.getPaddingBottom();
holder.linearLayout.setPadding( le,to,500,bo ); // 余白を再設定
}
if ( holder.getAdapterPosition() == ( iImagePaths.size() - 1 ) ) { // 最後の時
int ri = holder.linearLayout.getPaddingRight();
int to = holder.linearLayout.getPaddingTop();
int bo = holder.linearLayout.getPaddingBottom();
holder.linearLayout.setPadding( 500,to,ri,bo );
}
holder.linearLayout.setId( holder.getAdapterPosition() );
holder.linearLayout.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.onClick(v);
}
});
}
これが正しいのか分からないが、デバイス上でパフォーマンスに問題なければOKかな…。