现在的位置: 首页 > 综合 > 正文

android的GridView显示网络图片的方法

2013年02月24日 ⁄ 综合 ⁄ 共 3225字 ⁄ 字号 评论关闭

首先Activity.java的写法如下

package com.lujianfei.active;

 
import java.util.ArrayList;
import java.util.HashMap;

import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.SimpleAdapter;
import android.widget.SimpleAdapter.ViewBinder;

import com.lujianfei.data.IData;
import com.lujianfei.data.IDataFactory;
import com.lujianfei.util.BitmapHelper;


public class VideoprojActivity extends Activity {
	
	IData data = null;
	IDataFactory dataFactory = null;
	
    GridView gridview = null;  
  

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.videoproj_gridview_layout);
        gridview = (GridView) findViewById(R.id.gridview);    
        
        
        ArrayList<HashMap<String,Object>> list=new ArrayList<HashMap<String,Object>>();  
        HashMap<String,Object> map=null;  
         
       
          
        for(int i=0;i<3;i++)  
        {  
        map=new HashMap<String,Object>();  
        map.put("ItemImage",BitmapHelper.getBitmap("http://192.168.1.119:8080/strutsproj/upload/type1.jpg"));  
        map.put("ItemText","ItemText"+i);  
        list.add(map);  
        }  
        SimpleAdapter adapter = new SimpleAdapter(this,list,R.layout.videoproj_gridview_item_layout,new String[]{"ItemImage","ItemText"},new int[]{R.id.ItemImage,R.id.ItemText});  
        adapter.setViewBinder(new ViewBinder(){  
  
          public boolean setViewValue(View view, Object data,   
                  String textRepresentation) {   
                //判断是否为我们要处理的对象    
                if(view instanceof ImageView && data instanceof Bitmap){   
                  ImageView iv = (ImageView) view;   
                  iv.setImageBitmap((Bitmap) data);   
                  return true;   
                }else   
                return false;   
              }   
  
      
      });  

        gridview.setAdapter(adapter);    

    }
     
}

 

核心类 BitmapHelper.java

package com.lujianfei.util;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;

public class BitmapHelper {
	public static Bitmap getBitmap(String imageUrl) {
		Bitmap mBitmap = null;
		try {
			URL url = new URL(imageUrl);
			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
			InputStream is = conn.getInputStream();
			mBitmap = BitmapFactory.decodeStream(is);

		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		return mBitmap;
	}

}

 

videoproj_gridview_layout.xml

<?xml version="1.0" encoding="utf-8"?>    
<GridView xmlns:android="http://schemas.android.com/apk/res/android"     
    android:id="@+id/gridview"    
    android:layout_width="fill_parent"     
    android:layout_height="fill_parent"    
    android:numColumns="auto_fit"    
    android:verticalSpacing="10dp"    
    android:horizontalSpacing="10dp"    
    android:columnWidth="90dp"    
    android:stretchMode="columnWidth"    
    android:gravity="center"    
/>  

 

videoproj_gridview_item_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="4dip" >

    <ImageView
        android:id="@+id/ItemImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true" >
    </ImageView>

    <TextView
        android:id="@+id/ItemText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/ItemImage"
        android:layout_centerHorizontal="true"
        android:text="TextView01" >
    </TextView>

</RelativeLayout>

 

运行效果如下

抱歉!评论已关闭.