Android之 ListView滑动时不加载图片
来源:互联网 发布:sql是系统软件 编辑:程序博客网 时间:2024/05/29 08:56
listview加载图片优化的功能,
在我们使用新浪微博的时候,细心的同学一定发现了,在滑动的过程中,图片是没有被加载的,
而是在滑动停止时,才加载图片了。
我们今天就做一个这样的效果吧。
我们先考虑两个问题:
1、在滑动停止的时候,如何获得需要加载的图片控件?
2、因为listiew在初始化完成的时候,OnScrollListener的onScrollStateChanged与onScroll并未被触发,如何初始化第一页的图片?
package com.test.list;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.ViewGroup;import android.widget.AbsListView;import android.widget.AbsListView.OnScrollListener;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;public class Test<a target="_blank" href="http://www.2cto.com/kf/yidong/Android/" class="keylink" style="border:none; padding:0px; margin:0px; color:rgb(51,51,51); text-decoration:none; font-size:14px">Android</a>ListActivity extends Activity {private int start_index, end_index;// 判断是否是初始化private boolean isInit = false;private ListView list;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);this.initList();}private BaseAdapter adapter = new BaseAdapter() {@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubView v;if (convertView == null) {v = getLayoutInflater().inflate(R.layout.list_item, null);v.setTag(v);} else {v = (View) convertView.getTag();ImageView iv = (ImageView) v.findViewById(R.id.img);iv.setImageResource(R.drawable.ic_launcher);}ImageView iv = (ImageView) v.findViewById(R.id.img);// 给图片控件设置上对应的位置编号iv.setTag(position);if (!isInit) {iv.setImageResource(R.drawable.update_log);}return v;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn 140;}};private void initList() {// TODO Auto-generated method stublist = (ListView) this.findViewById(R.id.list);list.setAdapter(adapter);list.setOnScrollListener(new OnScrollListener() {@Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) {// TODO Auto-generated method stubisInit = true;switch (scrollState) {case OnScrollListener.SCROLL_STATE_IDLE:// 滑动停止for (; start_index < end_index; start_index++) {ImageView img = (ImageView) list.findViewWithTag(start_index);img.setImageResource(R.drawable.update_log);}break;default:break;}}@Overridepublic void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {// TODO Auto-generated method stub// 设置当前屏幕显示的起始index和结束indexstart_index = firstVisibleItem;end_index = firstVisibleItem + visibleItemCount;}});}}
0 0
- Android之 ListView滑动时不加载图片
- ListView滑动时不加载图片
- ListView快速滑动时不加载图片
- listview优化:滑动时不加载图片
- listview滑动不加载图片
- android listview 滑动过程中不加载图片,停止时加载图片
- Android listview 滑动过程中不加载图片,停止时加载图片
- android listview滑动过程中不加载图片,停止时加载图片。
- 简单实现 Android listview 滑动过程中不加载图片,停止时加载图片
- Android优化:ListView嵌套GridView滑动时不加载图片,停止后加载图片
- 控制ListView快速滑动不加载图片
- Android之ListView优化(使用Lrucache,图片滑动时使用默认图片,停止时加载)
- Android之ListView优化(使用Lrucache,图片滑动时使用默认图片,停止时加载)
- Android之ListView优化(使用Lrucache,图片滑动时使用默认图片,停止时加载)
- Android之ListView优化(使用Lrucache,图片滑动时使用默认图片,停止时加载)
- Android ListView3 滑动不加载图片
- ListView、GridView滑动时禁止加载图片
- 【Android】Glide结合Recyclerview(也适用于Listview)实现列表滑动的时候图片不加载,滑动停止的时候加载(已修正Listview部分以及排版)
- 4-1 复数类的运算符重载
- React
- 【UOJ #244】【UER #7 A】短路
- NYOJ - 246 - 心急的C小加
- SVM
- Android之 ListView滑动时不加载图片
- HDU 1159 & POJ 1458 Common Subsequence 【LCS】
- 1
- DBoW2原理与代码分析(结合ORB_SLAM2)
- 信号的相关知识
- 向量(vector)
- 10.21日签到
- 循环链表
- 无缝轮播