android之GridView异步加载图片时显示加载进度ProgressBar

原创 2012年03月28日 17:07:52

GridView异步加载图片时,每个view中先显示加载进度ProgressBar。。。Gallery中使用该方法还可以避免图片没加载到时无法滑动的问题。


GridView布局文件:

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout  
  xmlns:android="http://schemas.android.com/apk/res/android"  
  android:layout_width="wrap_content"  
  android:layout_height="wrap_content"  
  android:orientation="vertical">  
    
      <GridView    
	    android:id="@+id/main_album_gridview"  
	    android:layout_width="fill_parent"   
	    android:layout_height="fill_parent"  
	    android:numColumns="4"  
	    android:scrollbars="none"
	    android:smoothScrollbar="true"
	    android:fadingEdge="none"
	    android:verticalSpacing="0dip"  
	    android:horizontalSpacing="0dip"  
	    android:columnWidth="90dp"  
	    android:stretchMode="columnWidth"  
	    android:gravity="center"  
	  />
</LinearLayout>


        Item的布局文件gridview_item.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:id="@+id/relativeLayout1">
    <ImageView 
    android:id="@+id/grid_imageview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />
    <ProgressBar 
     android:id="@+id/grid_progressBar"    
     android:layout_width="wrap_content"   
     android:layout_height="wrap_content"  
     android:visibility="gone" 
     android:layout_gravity="center_vertical"
    
    />
    <!--  style="@android:style/Widget.ProgressBar.Small" -->
</RelativeLayout>

加载图片时先显示进度:

	
	public View getView(int position, View convertView, ViewGroup parent) {
		
		if(convertView == null){
			LayoutInflater layoutInflater = LayoutInflater.from(mMainActivity);
			convertView = layoutInflater.inflate(R.layout.gridview_item, null);
			GridView.LayoutParams params = new GridView.LayoutParams(mMainActivity.albumWidth,mMainActivity.albumHeight);
			convertView.setLayoutParams(params);
		}
		convertView.setTag(position);
				
		//先显示加载进度条
		ProgressBar pb = (ProgressBar)convertView.findViewById(R.id.grid_progressBar);
		pb.setVisibility(View.VISIBLE);
		
		ImageView imageView = (ImageView)convertView.findViewById(R.id.grid_imageview);
		imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
		imageView.setAdjustViewBounds(true);
		syncTask.loadImage(position, imageUrls.get(position), imageLoadListener);//异步加载图片
		
		return convertView;
	}


图片加载完后要隐藏进度条:
View view = (View)mGridView.findViewWithTag(t);  
              
    if(view != null){  
        //隐藏进度条  
        ProgressBar pb = (ProgressBar)view.findViewById(R.id.grid_progressBar);  
        pb.setVisibility(View.INVISIBLE);  
        //显示加载到的图片  
        ImageView imageView = (ImageView)view.findViewById(R.id.grid_imageview);  
        imageView.setBackgroundDrawable(drawable);  
    }  







实现GridView 里的进度条

 在一些项目管理系统里经常要用一个进度条去动态显示当前项目进展情况,那如何在GridView里实现进度条呢?首先要有一个百分比(如根据当前的情况和原先计划的工期计算一个项目完成的百分比),然后根据这个...
  • hakule
  • hakule
  • 2008年11月17日 21:26
  • 5217

android:progressbar实现进度条

在听网络音乐或者下载软件的时候总能看到进度条的身影 它是怎么实现的呢 应该是已下载的大小/总的应用的大小  哈哈  progress小例子 代码很简单 就不说名  主要的都有注释 pack...
  • su20145104009
  • su20145104009
  • 2016年02月21日 19:37
  • 2838

文章标题android之listview异步加载图片时显示加载进度ProgressBar

这里写代码片 package com.example.listviewitemprogress; import java.io.InputStream; import java.net.HttpUR...
  • qq_28774475
  • qq_28774475
  • 2016年07月01日 23:21
  • 313

使用ProgressBar实现加载进度条

ProgressBar是进度条组件,通常用于向用户展示某个耗时操作完成的进度。 ProgressBar的关键属性: *android:max="100" ——最大显示进度 *android:progr...
  • ljw124213
  • ljw124213
  • 2015年10月08日 17:12
  • 527

Android学习 20 -> 进度条之加载进度条ProgressBar

在Android开发中,要做一些Loading的提示的时候我们就要使用到ProgressBar进度条。 ProgressBar有两种样式:默认的是不能确定用时、速度、完成状态等时使用,而在知道要加载的...
  • q394895302
  • q394895302
  • 2015年07月02日 08:18
  • 1578

WebView加载进度Progress的显示

最近项目中用到WebView来显示网页,  一般浏览器加载网页都会显示进度,所以想在使用WebView时也能显示加载进度,现在尝试几种实现方法 ~~ 一。利用Window的进度条     ...
  • wxx614817
  • wxx614817
  • 2016年03月08日 00:59
  • 1820

Android GridView 异步加载图片

网上的资源普遍上是ListView异步加载图片,比较少有GirdView异步加载图片,参考了ListView异步加载图片的做法把GridView的异步加载图片功能做出来,方法和思想大同小异,本文章把G...
  • lanpy88
  • lanpy88
  • 2011年08月09日 12:06
  • 21779

安卓GridView异步加载网络图片

安卓GridView异步加载网络图片总结感想今天,第一次使用加载网络图片,对于网络GridView的图片网络加载与大家分享下。 先看下效果图 看完效果下面就看看具体代码的实现吧 MainAct...
  • wheretogowater
  • wheretogowater
  • 2016年05月05日 22:56
  • 1416

android progressBar 加载内容的时候显示

效果图: 2.创建progressdialogprivate void buildDialog(){ dialog = new ProgressDialog(MainActi...
  • zzldm
  • zzldm
  • 2016年09月08日 10:40
  • 496

字体随着ProgressBar的加载而滚动

在网上翻阅了很多关于ProgressBar滚动效果,但是始终没有找到适合项目中的这种效果,故自己写篇博文,记录一下写作过程,给大家做一个参考。先看下最终效果效果图 我这里用的是LICEcap软件录制...
  • sinat_36668731
  • sinat_36668731
  • 2017年02月25日 16:02
  • 1306
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android之GridView异步加载图片时显示加载进度ProgressBar
举报原因:
原因补充:

(最多只允许输入30个字)