Android课程---关于GridView网格视图的学习

activity_ui6.xml

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/gv_1"
    android:numColumns="auto_fit"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:columnWidth="100dp"
    android:gravity="center"
    android:stretchMode="columnWidth">

    <!--stretchMode:缩放模式  columnWidth:根据列宽来设-->

</GridView>

UIActivity6.java

package com.hanqi.test5;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.Toast;

public class UIActivity6 extends AppCompatActivity {

    int[] imid;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ui6);

        GridView gv_1 =(GridView)findViewById(R.id.gv_1);

        imid = new int[]{R.drawable.yuantu,R.drawable.yuantu,R.drawable.yuantu,R.drawable.yuantu,R.drawable.yuantu
        ,R.drawable.yuantu,R.drawable.yuantu,R.drawable.yuantu};

        gv_1.setAdapter(new MyBaseAdapter());
        gv_1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(UIActivity6.this, "position =" + position, Toast.LENGTH_SHORT).show();
            }
        });

    }
    class MyBaseAdapter extends BaseAdapter
    {
        @Override
        public int getCount() {
            return imid.length;
        }

        @Override
        public Object getItem(int position) {
            return imid[position];
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            //获取数据
            int Imageid = imid[position];
            //构造视图
            ImageView iv_1 = null;
            if (convertView == null)
            {
                iv_1 = new ImageView(UIActivity6.this);

                iv_1.setLayoutParams(new GridView.LayoutParams(100,100));  //属性设置
                iv_1.setScaleType(ImageView.ScaleType.FIT_XY);  //FIT_XY:自动全部充满

            }
            else
            {
               iv_1 = (ImageView)convertView;  //强转
            }
            iv_1.setImageResource(Imageid);

            return iv_1;
        }
    }
}

效果图如下(因图片本身是长方形的,用网格视图缩放成了正方形,有点不好看):

网格视图的总结:

时间: 2024-10-31 19:15:48

Android课程---关于GridView网格视图的学习的相关文章

Android课程---如何用网格视图做出手机桌面APP

activity_test.xml <?xml version="1.0" encoding="utf-8"?> <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent&quo

Android课程---关于ListView列表视图的学习

activity_ui3.xml <?xml version="1.0" encoding="utf-8"?> <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"

Android基础入门教程——2.4.9 GridView(网格视图)的基本使用

Android基础入门教程--2.4.9 GridView(网格视图)的基本使用 标签(空格分隔): Android基础入门教程 本节引言: 本节给大家介绍的是第二个Adapter类的控件--GridView(网格视图),见名知义,ListView是列表, GridView就是显示网格!他和ListView一样是AbsListView的子类!很多东西和ListView都是相通的, 本节我们就来学习他的基本用法~ 1.相关属性: 下面是GridView中的一些属性: android:columnW

步步为营_Android开发课[22]_用户界面之GridView(网格视图)

Focus on technology, enjoy life!-- QQ:804212028 浏览链接:http://blog.csdn.net/y18334702058/article/details/44624305 主题:用户界面之GridView(网格视图) -九宫格布局就是用它来实现的. GridView实现九宫格(实例): activity_main.xml: <?xml version="1.0" encoding="utf-8"?> &

【Android】10.3 网格视图(GridView)

分类:C#.Android.VS2015: 创建日期:2016-02-19 一.简介 网格视图(GridView)是在GridLayout的基础上添加了滚动功能的视图,即:GridView用于在可滚动的2D网格空间中显示包含大量单元格的项(每项都是一个视图),例如每个单元格显示一个图片,当图片较多时,还可以上下滚动查看. 要使用GridView,需要先编写一个视图适配器(一般用继承自BaseAdapter<T>的适配器类来实现),再利用它来依次填充每个单元格,例如,将图片按先行后列(或者先列后

从零开始学android&lt;GridView网格视图.二十八.&gt;

GridView组件是以网格的形式显示所有的组件,例如:在制作相册的时候,所有的图片都会以相同大小显示在不同的格子之中,就可以依靠此组件完成,此组件的继承结构如下所示: java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.AdapterView<T extends android.widget.Adapter> ? android.widget.AbsListView ? android.

GridView网格视图和Toast消息提示的作用

网格视图GridView其实就类似与电视上的九宫格,一般用于罗列多个元素的时候.要掌握GridView的用法首先要掌握BaseAdapter基础数据适配器的使用. GridView的一些属性:Android:columnWidth 列的宽度 Android:gravity 对齐方式 Android:horizomtalSpacing 列 间距 Android:stretchMode 缩放模式 Android:verticalSpacing 行 间距 getAdapter()获得与此组件相关的适配

GridView(网格视图)的使用

一.GridView概述 GridView是一个以表格形式显示多张图片等组件.它是按照行列的方式来显示内容的,比如实现九宫格图,用GridView是首选. 二.GridView常用属性 属性名称 描述 android:columnWidth 设置列的宽度. android:gravity 设置此组件中的内容在组件中的位置.可选的值有:top.bottom.left.right.center_vertical.fill_vertical.center_horizontal.fill_horizon

Android课程---优化ListView列表视图(2)

layout_simple.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="wrap_content