当前位置: 移动技术网 > IT编程>移动开发>Android > Android 九宫格的实现方法

Android 九宫格的实现方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

危在旦夕是什么意思,比基尼包裹下的中国躯体,快播能看的网站你懂的

1、xml代码:

复制代码 代码如下:

<?xml version="1.0" encoding="utf-8"?>
 <linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:layout_weight="1.0"
      android:background="@drawable/yellow"
      >
 <imageview android:id="@+id/imageview01"
            android:layout_width="100sp"
            android:layout_height="100sp"
            android:layout_gravity="center_vertical"
            android:background="@drawable/a"></imageview>  
 <gridview
     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/c"
     >
 </gridview>
 </linearlayout>

   其中android:numcolumns="3"  代表九宫格的列数  auto_fit时为自动

2、实现代码

复制代码 代码如下:

public class mainactivity 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.activity_main);

         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>();// 建立hashmap对象

             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);
         }

         /**
          * 为gridview建立simpleadapter适配器
          */
         // simpleadapter()中的五个参数分别是:第一个context,第二个数据资源,第三个每一个子项的布局文件,第四个每一个子项中的key数组
         // 第五个每一个子项中的value数组
         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(mainactivity.this, r.string.gridview1,
                         toast.length_long).show();
             }

             if (item.get("itemtext").equals(
                     getresources().getstring(r.string.gridview2))) {
                 toast.maketext(mainactivity.this, r.string.gridview2,
                         toast.length_long).show();
             }

             if (item.get("itemtext").equals(
                     getresources().getstring(r.string.gridview3))) {
                 toast.maketext(mainactivity.this, r.string.gridview3,
                         toast.length_long).show();
             }

             if (item.get("itemtext").equals(
                     getresources().getstring(r.string.gridview4))) {
                 toast.maketext(mainactivity.this, r.string.gridview4,
                         toast.length_long).show();
             }

             if (item.get("itemtext").equals(
                     getresources().getstring(r.string.gridview5))) {
                 toast.maketext(mainactivity.this, r.string.gridview5,
                         toast.length_long).show();
             }

             if (item.get("itemtext").equals(
                     getresources().getstring(r.string.gridview6))) {
                 toast.maketext(mainactivity.this, r.string.gridview6,
                         toast.length_long).show();
             }

             if (item.get("itemtext").equals(
                     getresources().getstring(r.string.gridview7))) {
                 toast.maketext(mainactivity.this, r.string.gridview7,
                         toast.length_long).show();
             }

             if (item.get("itemtext").equals(
                     getresources().getstring(r.string.gridview8))) {
                 toast.maketext(mainactivity.this, r.string.gridview8,
                         toast.length_long).show();
             }

             if (item.get("itemtext").equals(
                     getresources().getstring(r.string.gridview9))) {
                 toast.maketext(mainactivity.this, r.string.gridview9,
                         toast.length_long).show();
             }
         }
     }

 }

3、实现效果如图所示

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网