我有一个RecyclerView,可以在水平滚动视图中加载图像列表。在添加每个项目时,我将位置滚动到最后一个项目,但只有最后一个项目的一小部分变为可见,而其余部分保持隐藏。
有关如何滚动到最后的提示,以便最后一项完全可见?
适配器中的代码,用于在项目中加载新图像:
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
{
var viewHolder = holder as CustomViewHolder;
viewHolder.cardView.Visibility = ViewStates.Invisible;
Picasso.With(viewHolder.imgViewIcon.Context).Load("file:///" + mItemsData[position]).Into(viewHolder.imgViewIcon, new ImageLoadCallback(viewHolder));
viewHolder.imgViewIcon.Tag = position;
}
此图像将图像保存到SD卡并将项目添加到recyclerview的数据源并通知项目更改:
private void AddImageASync(int rotation, byte[] data) {
Task.Factory.StartNew(() => {
Bitmap bmp = rotatePicture(rotation, data);
Android.Net.Uri photoUri = ImageUtility.savePicture(Activity, bmp);
mImageItems.Add(photoUri.Path);
}).ContinueWith(task => {
Activity.RunOnUiThread(() =>
{
mAdapter.NotifyItemInserted(mImageItems.Count - 1);
mRecyclerView.ScrollToPosition(mImageItems.Count - 1);
});
});
}