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

网格视图GridView其实就类似与电视上的九宫格,一般用于罗列多个元素的时候。要掌握GridView的用法首先要掌握BaseAdapter基础数据适配器的使用。

GridView的一些属性:Android:columnWidth 列的宽度

Android:gravity 对齐方式

Android:horizomtalSpacing 列 间距

Android:stretchMode 缩放模式

Android:verticalSpacing 行 间距

getAdapter()获得与此组件相关的适配器

setOnItemClickListener()对GridView的子项进行监听 以便对子项进行具体操作

下面就依照此图做一个实例

xml文件内容:

<?xml version="1.0" encoding="utf-8"?>

<GridView

xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/gridview"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:numColumns="auto_fit"

android:verticalSpacing="10dp"

android:horizontalSpacing="10dp"

android:columnWidth="90dp"

android:stretchMode="columnWidth"

android:gravity="center"

/>

主Java类:

package com.tw.ganasky;

import android.os.Bundle;

import android.support.v7.app.ActionBarActivity;

import android.view.Gravity;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.GridView;

import android.widget.Toast;

//网格视图实例 继承自Activity

public class MainActivity extends ActionBarActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 设置一个Activity的显示界面,显示界面在res下的layout中

setContentView(R.layout.activity_main);

// 取得GridView对象

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

// 添加元素给GridView

gridview.setAdapter(new ImageAdapter(this));

// 设置Gallery的背景

gridview.setBackgroundResource(R.drawable.bg0);

// 事件监听

gridview.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> parent, View v, int position, long id)

{

DisplayToast("您单击了" + (position + 1) + " 号图片");

}

});

}

//显示Toast

public void DisplayToast(String str){

Toast toast=Toast.makeText(this, str, Toast.LENGTH_SHORT);

// 设置toast的显示位置

toast.setGravity(Gravity.TOP, 0,180);

// 显示该toast

toast.show();

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will

// automatically handle clicks on the Home/Up button, so long

// as you specify a parent activity in AndroidManifest.xml.

int id = item.getItemId();

if (id == R.id.action_settings) {

return true;

}

return super.onOptionsItemSelected(item);

}

}

 新建一个ImageAdapter类:

package com.tw.ganasky;

import android.content.Context;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.GridView;

import android.widget.ImageView;

//数据源

public class ImageAdapter extends BaseAdapter {

// 定义Context上下文,在本例中是指MainAcitivity.java

private Context mContext;

// 定义整型数组 即图片数据资源

private Integer[] mImages={

R.drawable.img1,

R.drawable.img2,

R.drawable.img3,

R.drawable.img4,

R.drawable.img5,

R.drawable.img6,

R.drawable.img7,

};

// 构造函数

public ImageAdapter(Context c) {

// TODO Auto-generated constructor stub

mContext=c;

}

// 获得图片的个数

@Override

public int getCount() {

// TODO Auto-generated method stub

return mImages.length;

}

//获取图片在库中的位置

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return position;

}

//获得图片ID

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

//当列表中每一项显示在页面的时候,都会调用Adapter的getView方法返回一个View

@Override

public View getView(int position, View convertView, ViewGroup parent) {

// TODO Auto-generated method stub

ImageView imageView;

if(convertView == null){

// 给ImageView设置资源

imageView=new ImageView(mContext);

// 设置布局 图片85*85显示

imageView.setLayoutParams(new GridView.LayoutParams(85,85));

// 设置显示比例类型

imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);

}

else

{

imageView=(ImageView) convertView;

}

imageView.setImageResource(mImages[position]);

return imageView;

}

}

看书笔记!

时间: 2025-01-21 20:12:09

GridView网格视图和Toast消息提示的作用的相关文章

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课程---关于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&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(网格视图)的使用

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

toast消息提示

四种类型,普通,改位置,带图,自定义 首先布局中建四个相对应的按钮 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height=

【Android】10.3 网格视图(GridView)

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

View(视图)——ListView之BaseAdapter和SimpleCursorAdapter以及网格视图代码视图

一.BaseAdapter 1.数据源  List<Object> 一般是放实体类.POJO类,一般只包含私有属性和属性的getter和setter方法. 2.layout:可以用布局,包含多个视图. 3.抽象类:必须要继承并实现4个抽象方法 1-int getCount()  返回数据源的记录数 2-Object getItem(int position) 返回索引对应的数据对象 3-long getItemId(int position)  返回索引对应的数据对象的ID 4-View ge

Android消息提示:AlertDialog、Toast、Notification的使用

主要介绍Android常用于消息提示的组件:ALertDialog.Toast.Notification的使用场景以及它们的基本用法,探讨一些高级主题,最后总结一些开发过程中常见的问题. 首先我们来对这三种消息提示机制来一个直观的认识,分别是AlertDialog Toast.Notification 接下来分别介绍这三种机制各自对应的使用场景和用法 AlertDialog 使用场景:AlertDialog在应用内的使用还是很常见的,常用于让用户做出某种选择,而这种选择一定是简单的交互,如果是复