gpt4 book ai didi

android - ScrollToPosition() 在带有图像的 RecyclerView 上效果不佳

转载 作者:行者123 更新时间:2023-11-29 20:15:57 24 4
gpt4 key购买 nike

我有一个像这样的 RecyclerView 页面:

 <android.support.v7.widget.RecyclerView
android:id="@+id/rv_chat"
android:layout_width="match_parent"
android:layout_height="match_parent" />

RecyclerView item的xml是一个ImageView:

<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/iv_chat_item_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:maxHeight="@dimen/height_xl"
android:maxWidth="@dimen/width_l"
android:scaleType="centerInside"
android:src="?attr/chat_image_loading" />

适配器:

public ChatAdapter(Context context, List<String> urls)
{
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {

//download image from internet
downloadImage(url);
}
}

主要 Activity :

    //image urls
List<String> urls;

@Override
protected void onCreate(Bundle savedInstanceState) {

//initialize recyclerview
chatListView = (RecyclerView) findViewById(R.id.rv_chat);
chatListView.setHasFixedSize(true);
chatListView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
chatListView.setItemAnimator(new DefaultItemAnimator());

chatAdapter = new ChatAdapter(this,null);
chatListView.setAdapter(chatAdapter);

//add datas
chatAdapter.addDatas(urls);

//scroll to bottom
chatListView.smoothScrollToPosition(chatListView.getBottom());
}

我只是想这样做:下载图片后,让recyclerview滚动到底部。但是由于异步加载图片,recyclerview无法正确滚动到底部——它只是滚动到中间。那么我该怎么做才能让它正常工作呢?

最佳答案

下载前获取图片大小,并在 View 中设置空白图片。

关于android - ScrollToPosition() 在带有图像的 RecyclerView 上效果不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33891253/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com