Recycler View水平不会滚动直到结束

时间:2017-07-03 19:55:01

标签: android xamarin scroll android-recyclerview imageview

我有一个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);
            });
        });
    }

0 个答案:

没有答案