Android UI开发第一篇——android的九宫格式实现

XML代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res/com.google.android.gx5weather"
     android:orientation="vertical"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:layout_weight="1.0"
     android:background="@drawable/bg"
     >
<ImageView android:id="@+id/ImageView01"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_gravity="center_vertical"
           android:background="@drawable/top"></ImageView>  
<GridView xmlns:android="http://schemas.android.com/apk/res/android"   
    android:id="@+id/gridview" 
    android:layout_width="wrap_content"   
    android:layout_height="wrap_content" 
    android:numColumns="3" 
    android:verticalSpacing="30dip" 
    android:horizontalSpacing="10dip" 
    android:columnWidth="90dip"  //列宽
    android:stretchMode="columnWidth" 
    android:gravity="center"
    android:listSelector="@drawable/grid_selector_background"
>
</GridView>
</LinearLayout>



android:numColumns="3" //九宫格的列数  auto_fit时为自动
android:listSelector="@drawable/grid_selector_background"   //九宫格的背景,可以找个圆角正方形

JAVA代码:

public class NineBox extends Activity {
    /** Called when the activity is first created. */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
	// TODO Auto-generated method stub
	super.onCreate(savedInstanceState);
	this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
     
        setContentView(R.layout.main_activity);
        GridView gridview=(GridView)findViewById(R.id.gridview);
        ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>();  
        for(int i=1;i<10;i++)  
        {  
          HashMap<String, Object> map = new HashMap<String, Object>();
          if(i==1){
                map.put("ItemImage", R.drawable.g11);
                map.put("ItemText", getResources().getString(R.string.gridview1));
          }
          if(i==2){ 
              map.put("ItemImage", R.drawable.g12);
              map.put("ItemText", getResources().getString(R.string.gridview2));
        }
          if(i==3){ 
              map.put("ItemImage", R.drawable.g13);
              map.put("ItemText", getResources().getString(R.string.gridview3));
        }
          if(i==4){ 
              map.put("ItemImage", R.drawable.g14);
              map.put("ItemText", getResources().getString(R.string.gridview4));  
        }
          if(i==5){ 
              map.put("ItemImage", R.drawable.g15);
              map.put("ItemText", getResources().getString(R.string.gridview5));
        }
          if(i==6){ 
              map.put("ItemImage", R.drawable.g16);
              map.put("ItemText", getResources().getString(R.string.gridview6));
        }
          if(i==7){ 
              map.put("ItemImage", R.drawable.g17);
              map.put("ItemText", getResources().getString(R.string.gridview7));
        }
          if(i==8){ 
              map.put("ItemImage", R.drawable.g18);
              map.put("ItemText", getResources().getString(R.string.gridview8));
        }
          if(i==9){ 
              map.put("ItemImage", R.drawable.g19);
              map.put("ItemText", getResources().getString(R.string.gridview9));
        }
          lstImageItem.add(map);
         
        }  

 
        SimpleAdapter saImageItems = new SimpleAdapter(this,
                                                  lstImageItem,
                                                  R.layout.grid_item,     
                                                  new String[] {"ItemImage","ItemText"},   
                                                  new int[] {R.id.ItemImage,R.id.ItemText});  
 
        gridview.setAdapter(saImageItems);  
        gridview.setOnItemClickListener(new ItemClickListener());  
    }  
      
 
    class  ItemClickListener implements OnItemClickListener  
    {  

 
      @SuppressWarnings("unchecked")
      public void onItemClick(AdapterView<?> arg0,//The AdapterView where the click happened   
                                      View arg1,//The view within the AdapterView that was clicked  
                                      int arg2,//The position of the view in the adapter  
                                      long arg3//The row id of the item that was clicked  
                                    ) {  
     
      HashMap<String, Object> item=(HashMap<String, Object>) arg0.getItemAtPosition(arg2);  
   
      if(item.get("ItemText").equals(getResources().getString(R.string.gridview1))){
      	Toast.makeText(NineBox.this, R.string.gridview1, Toast.LENGTH_LONG).show();
      }
      if(item.get("ItemText").equals(getResources().getString(R.string.gridview2))){
      	Toast.makeText(NineBox.this, R.string.gridview2, Toast.LENGTH_LONG).show();
      }
      if(item.get("ItemText").equals(getResources().getString(R.string.gridview3))){
      	Toast.makeText(NineBox.this, R.string.gridview3, Toast.LENGTH_LONG).show();
      }
      if(item.get("ItemText").equals(getResources().getString(R.string.gridview4))){
      	Toast.makeText(NineBox.this, R.string.gridview4, Toast.LENGTH_LONG).show();
      }
      if(item.get("ItemText").equals(getResources().getString(R.string.gridview5))){
      	Toast.makeText(NineBox.this, R.string.gridview5, Toast.LENGTH_LONG).show();
      }
      if(item.get("ItemText").equals(getResources().getString(R.string.gridview6))){
      	Toast.makeText(NineBox.this, R.string.gridview6, Toast.LENGTH_LONG).show();
      }
      if(item.get("ItemText").equals(getResources().getString(R.string.gridview7))){
      	Toast.makeText(NineBox.this, R.string.gridview7, Toast.LENGTH_LONG).show();
      }
      if(item.get("ItemText").equals(getResources().getString(R.string.gridview8))){
      	Toast.makeText(NineBox.this, R.string.gridview8, Toast.LENGTH_LONG).show();
      }
      if(item.get("ItemText").equals(getResources().getString(R.string.gridview9))){
      	Toast.makeText(NineBox.this, R.string.gridview9, Toast.LENGTH_LONG).show();
      }
     }  
    }
}



文章出处: http://blog.csdn.net/xyz_lmn/article/details/6906255

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值