Android GridView的使用

GridView就是先将控件横向显示,然后纵向显示

效果如上所示

先看一下GridView的布局文件

<?xml version="1.0" encoding="utf-8"?>

    <GridView
       xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/brainheroall"
        android:background="#FFeff1ef"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:numColumns="auto_fit"  
    	android:verticalSpacing="10dp"  
    	android:horizontalSpacing="10dp"  
    	android:columnWidth="90dp"  
    	android:stretchMode="columnWidth"  
    	android:gravity="center"  
    />
    


这是如何显示GridView,下面的xml文件是GridView里面如何显示

<?xml version="1.0" encoding="utf-8"?>  
<RelativeLayout   
         xmlns:android="http://schemas.android.com/apk/res/android"   
         android:layout_height="wrap_content"   
         android:paddingBottom="4dip" android:layout_width="fill_parent">  
         <ImageView   
               android:layout_height="wrap_content"   
               android:id="@+id/ItemImage"   
               android:layout_width="wrap_content"   
               android:layout_centerHorizontal="true">   
         </ImageView>  
         <TextView   
               android:layout_width="wrap_content"   
               android:layout_below="@+id/ItemImage"   
               android:layout_height="wrap_content"   
               android:text=""   
               android:textColor="#FF000000"
               android:layout_centerHorizontal="true"   
               android:id="@+id/ItemText">  
         </TextView>  
</RelativeLayout> 


下面是Java代码如何使用GridView

package view;

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

import model.HeroSimpleInfo;
import service.ObtainInfo;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.Toast;

import com.zhychneg.dota.R;

public class BrainHeroActivity extends Activity implements OnItemClickListener{

	GridView gv=null;
	long exitTime=0;
	HeroSimpleInfo []heros=null;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.brainheroall);
		gv=(GridView) findViewById(R.id.brainheroall);
		
		
		ArrayList<HashMap<String,Object>> al=new ArrayList<HashMap<String,Object>>();
	
		
		heros=ObtainInfo.getBrainHeroSimpleInfo();
		
		
		for(int i=0;i<heros.length;i++)
		{
			HashMap<String, Object> map = new HashMap<String, Object>();  
		       
	        map.put("icon", heros[i].getRes());//添加图像资源的ID  
	        map.put("name", heros[i].getName());//按序号做ItemText  
	        al.add(map);  
		}
		
		SimpleAdapter sa=new SimpleAdapter(this,al,R.layout.gridview_layout,new String[]{"icon","name"},new int[]{R.id.ItemImage,R.id.ItemText});
		gv.setAdapter(sa);
		gv.setOnItemClickListener(this);
		
		
		
		
		
		
	}
	
	public void onItemClick(AdapterView<?> parent, View view, int position,
			long id) {
		
		Intent intent =new Intent(this,AboutHeroActivty.class);
		intent.putExtra("HERO", heros[position]);
		this.startActivity(intent);
		
	}
	

}


 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值