android 格子控件,Android UI控件详解-GridView(网格视图)

xml布局

源代码

package com.example.gridview;

import android.os.Bundle;

import android.app.Activity;

import android.content.Context;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.GridView;

import android.widget.Toast;

/**

*

* @author TXF

*

* GridView(网格视图,适配器和Gallery的适配器是一样的)

*

*/

public class MainActivity extends Activity {

private GridView mgv;

private Context mcontext;

private Integer[] imageIds = { R.drawable.a, R.drawable.b, R.drawable.c,

R.drawable.d, R.drawable.e };

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

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

// 设置GridView的背景

// mgv.setBackgroundColor(Color.BLUE);

// 设置GridView的条目事件监听

mgv.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView> arg0, View arg1,

int position, long id) {

Toast.makeText(MainActivity.this,

"您选择了" + (position + 1) + "号图片", 0).show();

}

});

// 设置适配器和Gallery的适配器是一样的,都是自定义适配器

mgv.setAdapter(new MyAdapter(this));

}

private class MyAdapter extends BaseAdapter {

public MyAdapter(Context c) {

mcontext = c;

}

@Override

public int getCount() {

return imageIds.length;

}

@Override

public Object getItem(int position) {

return imageIds[position];

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public View getView(int arg0, View arg1, ViewGroup arg2) {

ImageView iv = new ImageView(mcontext);

// 设置图片资源

iv.setImageResource(imageIds[arg0]);

// 设置布局图片的比例以90*90显示(宽高)

iv.setLayoutParams(new GridView.LayoutParams(90, 90));

// 设置图片显示的比例类型

iv.setScaleType(ImageView.ScaleType.CENTER);

// 返回图片

return iv;

}

}

}

效果图

405295b666728c1075202f50e3c84788.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值