美文网首页
Android控件开发——GridView的使用

Android控件开发——GridView的使用

作者: 程序猿男神 | 来源:发表于2016-11-25 15:24 被阅读1745次

    文/程序员男神

    前言

    今天又是周五了,大家可以休息一下了,我也结束这周在常州的出差之旅。下周继续来这里学习公司产品的需求和业务。今天带来的是GridView的简单使用,有兴趣的小伙伴可以撸一遍代码。


    aj

    一、GridView的基本属性

    android:numColumns="auto_fit" --------列数设置为自动
    android:columnWidth="90dp", --------每列的宽度,也就是Item的宽度
    android:stretchMode="columnWidth" -------缩放与列宽大小同步
    android:verticalSpacing="10dp" ---------垂直边距
    android:horizontalSpacing="10dp" -------水平边距

    二、实现步骤

    首先我们要准备数据源;
    接着就是新建一个适配器;
    最后就是加载适配器
    效果图:


    效果图

    三、代码实现

    package com.example.dj.slidingmenu;
    
    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.GridView;
    import android.widget.SimpleAdapter;
    import android.widget.Toast;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    /**
     * 描述:控件GridView的简单使用
     * <p>
     * Created by dj on 2016/11/24 0024.
     */
    public class GridViewActivity extends AppCompatActivity {
    
        private GridView gridView;
        private List<Map<String, Object>> data_list;
        private SimpleAdapter adapter;
        private int[] icons = {R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher
                , R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher
                , R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher
                , R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher
                , R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher};
        private String[] text = {"111", "222", "333", "444", "555", "666", "777", "888", "999", "000", "123", "234", "345", "456", "555"};
    
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_grid_view);
    
            gridView = (GridView) findViewById(R.id.gridView);
            data_list = new ArrayList<Map<String, Object>>();
            getData();
            //加载适配器
            String[] form = {"image", "text"};
            int[] to = {R.id.image, R.id.text};
            adapter = new SimpleAdapter(this, data_list, R.layout.item, form, to);
            gridView.setAdapter(adapter);
            //监听item每一项
            gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                    Toast.makeText(GridViewActivity.this, "你点击了第" + i, Toast.LENGTH_SHORT).show();
                }
            });
        }
    
        //准备数据源
        public List<Map<String, Object>> getData() {
    
            for (int i = 0; i < icons.length; i++) {
                Map<String, Object> map = new HashMap<String, Object>();
                map.put("image", icons[i]);
                map.put("text", text[i]);
                data_list.add(map);
            }
            return data_list;
        }
    }
    

    下面是activity_grid_view.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:background="#000000"
        android:orientation="vertical">
    
        <GridView
            android:id="@+id/gridView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:columnWidth="90dp"
            android:horizontalSpacing="6dp"
            android:numColumns="auto_fit"
            android:stretchMode="columnWidth"
            android:verticalSpacing="6dp"></GridView>
    
    </LinearLayout>
    

    item的item.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:gravity="center"
        android:orientation="vertical"
        android:padding="10dp">
    
        <ImageView
            android:id="@+id/image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:src="@mipmap/ic_launcher" />
        <TextView
            android:id="@+id/text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="6dp"
            android:text="@string/app_name"
            android:textColor="#FFF" />
    </LinearLayout>
    

    总结:
    这就是GridView的简单使用。周末愉快。

    相关文章

      网友评论

          本文标题:Android控件开发——GridView的使用

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