繁体   English   中英

Listview项目滚动时动画停止

[英]Listview items Animation Stop While Scrolling

我正在尝试使用每个ListView项目的简单动画显示ProgressBar ,但是当我滚动时, ProgressBar动画停止。 滚动结束后,动画再次开始。 见下图。

链接

你必须在getView()中使用动画并为convertView示例设置动画:

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    ViewHolder holder;

    StructureArticles item = getItem(position);
    if (convertView == null) {
        convertView = G.inflater.inflate(R.layout.adapter_articles, parent, false);
        holder = new ViewHolder(convertView);
        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }

    holder.fill(this, item, position);
    Animation animationListView = AnimationUtils.loadAnimation(context, R.anim.scale_fade_in);
    convertView.startAnimation(animationListView);

    return convertView;
}

我在我的适配器中使用了这个语法并且问题解决了!

public class AdapterDownload extends ArrayAdapter<StructDownload> {

public AdapterDownload(ArrayList<StructDownload> array) {
    super(G.context, R.layout.item_layout, array);
}


private static class ViewHolder {

    public ViewHolder(View view)
    {

    }


    public void fill(final ArrayAdapter<StructDownload> adapter, final StructDownload item, final int position)
    {

    }
}


@Override
public View getView(int position, View convertView, ViewGroup parent) {

}

}

谢谢。

它正在停止,因为当列表项可见时,会一次又一次地调用getview,从而重置视图以避免设备上的任何帧跳过/滞后。

你需要做的是创建一个带有布尔值的视图持有者并将其设置为视图的标签..每次都是动画布尔应该是真和假,当它停止时..所以当调用getview时你的进度条动画仍然是根据布尔值开始或停止..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM