GridView使用简介

来源:互联网 发布:梦幻西游账号数据 编辑:程序博客网 时间:2024/05/16 14:35

步骤和ListView差不多:

1.布局文件中声明一个GridView

2.Activity中得到GridView对象,设置适配器

3.在适配器中处理显示(每一个item也可用xml来布局)

代码:

activity代码

package com.itheima.mobilesafe.activity;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView;import android.widget.TextView;import com.itheima.mobilesafe.R;public class HomeActivity extends Activity {private GridView gv_menu;private String[] names = new String[]{"手机防盗","通讯卫士","软件管理","进程管理","流量统计","手机杀毒","缓存清理","高级工具","设置中心"};private int[] ids = new int[]{R.drawable.safe,R.drawable.callmsgsafe,R.drawable.app,R.drawable.taskmanager,R.drawable.netmanager,R.drawable.trojan,R.drawable.sysoptimize,R.drawable.atools,R.drawable.settings};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_home);gv_menu = (GridView) findViewById(R.id.gv_menu);gv_menu.setAdapter(new MyAdapter());// 添加item单击事件监听器<span style="white-space:pre"></span>gv_menu.setOnItemClickListener(new OnItemClickListener() {<span style="white-space:pre"></span>@Override<span style="white-space:pre"></span>public void onItemClick(AdapterView<?> parent, View view,<span style="white-space:pre"></span>int position, long id) {<span style="white-space:pre"></span>switch (position) {<span style="white-space:pre"></span>case 0:// <span style="white-space:pre"></span>break;<span style="white-space:pre"></span>case :// <span style="white-space:pre"></span>break;<span style="white-space:pre"></span>default:<span style="white-space:pre"></span>break;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>}<span style="white-space:pre"></span>});}private class MyAdapter extends BaseAdapter{@Overridepublic int getCount() {return names.length;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {View view = View.inflate(HomeActivity.this, R.layout.home_item, null);ImageView iv_icon = (ImageView) view.findViewById(R.id.iv_icon);TextView tv_name = (TextView) view.findViewById(R.id.tv_name);iv_icon.setImageResource(ids[position]);tv_name.setText(names[position]);return view;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}}}

activityd的xml布局文件中声明GridView

 <GridView        android:layout_marginTop="10dip"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:numColumns="3"        android:id="@+id/gv_menu"        android:paddingLeft="18dip"        android:verticalSpacing="15dip"        />

GridViewd的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:orientation="vertical" >    <ImageView        android:layout_width="80dip"        android:layout_height="80dip"        android:src="@drawable/app"        android:id="@+id/iv_icon" />        <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:textSize="16sp"        android:text="手机防盗"        android:id="@+id/tv_name"        android:paddingLeft="8dip"        /></LinearLayout>




0 0
原创粉丝点击