美文网首页
Android-GridView实现过程

Android-GridView实现过程

作者: a1a4b0d9e20c | 来源:发表于2020-05-19 14:56 被阅读0次

实现效果:

image.png

1、初始化GridView、适配器

        private List<Map<String, Object>> data_list;
        Map<String, Object> map1 = new HashMap<String, Object>();
        Map<String, Object> map2 = new HashMap<String, Object>();
        Map<String, Object> map3 = new HashMap<String, Object>();
        Map<String, Object> map4 = new HashMap<String, Object>();

        map1.put("BookImg", icomImageDefault[0]);
        map1.put("BookName", "测试1");
        map1.put("pushImage", icomPushImage[0]);

        map2.put("BookImg", icomImageDefault[0]);
        map2.put("BookName", "测试2");
        map2.put("pushImage", icomPushImage[0]);

        map3.put("BookImg", icomImageDefault[0]);
        map3.put("BookName", "测试3");
        map3.put("pushImage", icomPushImage[0]);

        map4.put("BookImg", icomImageDefault[0]);
        map4.put("BookName", "测试4");
        map4.put("pushImage", icomPushImage[0]);

        data_list = new ArrayList<Map<String, Object>>();
        data_list.add(map1);
        data_list.add(map2);
        data_list.add(map3);
        data_list.add(map4);

        GridView gridView= (GridView ) findViewById(R.id.grid_view);
        //新建适配器
        String [] from ={"BookImg","BookName","pushImage"};
        int [] to = {R.id.item_image,R.id.item_name,R.id.item_pushimage};
        SimpleAdapter sim_adapter = new SimpleAdapter(getActivity(),data_list, R.layout.item_shouyelistview, from, to);
        //配置适配器
        gridView.setAdapter(sim_adapter);

2、GridView点击事件

        //点击事件
        gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                //position:个数
                System.out.println("第" + position + "个");


            }
        });

3、GridView刷新UI

        //刷新页面
        gridView.setAdapter(sim_adapter);
        sim_adapter.notifyDataSetChanged();

4、UI页面demo.xml代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
    
        <GridView
                android:id="@+id/gv_View"
                android:layout_width="wrap_content"
                android:layout_height="760dp"
                
                android:layout_marginLeft="50dp"
                android:layout_marginRight="50dp"

                //横向列数
                android:numColumns="5"
                //每个宽度
                android:columnWidth="164dp"
                android:stretchMode="columnWidth"
               //横纵间隔大小
                android:verticalSpacing="40dp"
                android:horizontalSpacing="40dp"
                >
        </GridView>
    
</RelativeLayout>

5、GridViewitem的布局代码itemGridView.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="horizontal">
    
    <ImageView
            android:id="@+id/item_image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            />
    
    <TextView
            android:id="@+id/item_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginLeft="20dp"
            android:layout_weight="1"
            />
            
    <ImageView
            android:id="@+id/item_pushimage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="20dp"
            android:layout_gravity="center"
            
            />
    
    
</LinearLayout>

相关文章

  • Android-GridView实现过程

    实现效果: 1、初始化GridView、适配器 2、GridView点击事件 3、GridView刷新UI 4、U...

  • Android-GridView 的 OnItemClickLi

    GridView 的 OnItemClickListener 的事件无响应情况RecyclerView 抢占焦点E...

  • 28实现过程

    http://js.jirengu.com/seziduhore/1/edit?js一、封装函数 注意:对于===...

  • SDWebImage实现过程

    SDWebImage内部实现过程(新版本在各方法前加上了sd_前缀,以区分UIImageView+AFNetwor...

  • New 实现过程

    1.新生成一个对象2.链接到原型3.绑定this4.返回新对象

  • Synchronized实现过程

    以下截图及相关信息,均来源于马士兵公开课中 Synchronized 实现过程: Java代码层面:添加 sync...

  • 【产品实现】产品实现过程

    作者:硅谷堂mp 来源:搜狐 当我们提到一些常见的功能时,可以一笔带过,简单的描述一下就可以了,比如,对于微信登...

  • KVC

    主要有 setValue:forKey: 底层实现过程 valueForKey: 底层实现过程通过kvc 修改...

  • 面向对象系列(一)

    实现过程:

  • SDWebImage的内部实现过程

    SDWebImage内部实现过程 SDWebImage 加载图片的内部实现过程。 1.入口setImageWith...

网友评论

      本文标题:Android-GridView实现过程

      本文链接:https://www.haomeiwen.com/subject/qddbohtx.html