Android GridView的使用


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

效果如上所示

先看一下GridView的布局文件

  1. <?xml version="1.0" encoding="utf-8"?>  
  2.   
  3.     <GridView  
  4.        xmlns:android="http://schemas.android.com/apk/res/android"  
  5.         android:id="@+id/brainheroall"  
  6.         android:background="#FFeff1ef"  
  7.         android:layout_width="fill_parent"  
  8.         android:layout_height="wrap_content"  
  9.         android:numColumns="auto_fit"    
  10.         android:verticalSpacing="10dp"    
  11.         android:horizontalSpacing="10dp"    
  12.         android:columnWidth="90dp"    
  13.         android:stretchMode="columnWidth"    
  14.         android:gravity="center"    
  15.     />  

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

  1. <?xml version="1.0" encoding="utf-8"?>    
  2. <RelativeLayout     
  3.          xmlns:android="http://schemas.android.com/apk/res/android"     
  4.          android:layout_height="wrap_content"     
  5.          android:paddingBottom="4dip" android:layout_width="fill_parent">    
  6.          <ImageView     
  7.                android:layout_height="wrap_content"     
  8.                android:id="@+id/ItemImage"     
  9.                android:layout_width="wrap_content"     
  10.                android:layout_centerHorizontal="true">     
  11.          </ImageView>    
  12.          <TextView     
  13.                android:layout_width="wrap_content"     
  14.                android:layout_below="@+id/ItemImage"     
  15.                android:layout_height="wrap_content"     
  16.                android:text=""     
  17.                android:textColor="#FF000000"  
  18.                android:layout_centerHorizontal="true"     
  19.                android:id="@+id/ItemText">    
  20.          </TextView>    
  21. </RelativeLayout>   

下面是Java代码如何使用GridView

  1. package view;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.HashMap;  
  5.   
  6. import model.HeroSimpleInfo;  
  7. import service.ObtainInfo;  
  8. import android.app.Activity;  
  9. import android.content.Intent;  
  10. import android.os.Bundle;  
  11. import android.view.KeyEvent;  
  12. import android.view.View;  
  13. import android.widget.AdapterView;  
  14. import android.widget.AdapterView.OnItemClickListener;  
  15. import android.widget.GridView;  
  16. import android.widget.SimpleAdapter;  
  17. import android.widget.Toast;  
  18.   
  19. import com.zhychneg.dota.R;  
  20.   
  21. public class BrainHeroActivity extends Activity implements OnItemClickListener{  
  22.   
  23.     GridView gv=null;  
  24.     long exitTime=0;  
  25.     HeroSimpleInfo []heros=null;  
  26.     @Override  
  27.     protected void onCreate(Bundle savedInstanceState) {  
  28.         // TODO Auto-generated method stub   
  29.         super.onCreate(savedInstanceState);  
  30.         setContentView(R.layout.brainheroall);  
  31.         gv=(GridView) findViewById(R.id.brainheroall);  
  32.           
  33.           
  34.         ArrayList<HashMap<String,Object>> al=new ArrayList<HashMap<String,Object>>();  
  35.       
  36.           
  37.         heros=ObtainInfo.getBrainHeroSimpleInfo();  
  38.           
  39.           
  40.         for(int i=0;i<heros.length;i++)  
  41.         {  
  42.             HashMap<String, Object> map = new HashMap<String, Object>();    
  43.                  
  44.             map.put("icon", heros[i].getRes());//添加图像资源的ID     
  45.             map.put("name", heros[i].getName());//按序号做ItemText     
  46.             al.add(map);    
  47.         }  
  48.           
  49.         SimpleAdapter sa=new SimpleAdapter(this,al,R.layout.gridview_layout,new String[]{"icon","name"},new int[]{R.id.ItemImage,R.id.ItemText});  
  50.         gv.setAdapter(sa);  
  51.         gv.setOnItemClickListener(this);  
  52.           
  53.           
  54.           
  55.           
  56.           
  57.           
  58.     }  
  59.       
  60.     public void onItemClick(AdapterView<?> parent, View view, int position,  
  61.             long id) {  
  62.           
  63.         Intent intent =new Intent(this,AboutHeroActivty.class);  
  64.         intent.putExtra("HERO", heros[position]);  
  65.         this.startActivity(intent);  
  66.           
  67.     }  
  68.       
  69.   
  70. }  

相关内容