Android系列教程之GridView组件的使用
来源:互联网 发布:vb表格控制使用 编辑:程序博客网 时间:2024/06/07 01:36
GridView是一个网络布局的视图,他能让你的元素显示在一个个的格子里。我们的桌面就是一个GridView。。
1、新建一个gridview工程,activity_main.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:columnWidth="90dp" android:numColumns="auto_fit" android:horizontalSpacing="10dp" android:verticalSpacing="10dp" android:stretchMode="columnWidth" android:gravity="center"></GridView>
很简单,就是一个GridView。设置列宽为90dp,这样当我们的numColumns设置为auto_fit时,Android就会自动计算我们手机屏幕的大小以决定每一行展示几个元素。这是很方便。android:horizontalSpacing定义列之间的间隔,android:verticalSpacing定义行之间的间隔。android:stretchMode设置为columnWidth是意味着根据列宽自动缩放。
2、修改MainActivity.java代码如下:
package com.example.gridview;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView;import android.widget.Toast;public class MainActivity extends Activity {//展示图片private Integer[] mThumbIds = {R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e,R.drawable.ic_launcher,R.drawable.music,R.drawable.video,R.drawable.photo};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);GridView gridView = (GridView) findViewById(R.id.gridview);gridView.setAdapter(new ImageAdapter(this));//单击GridView元素的响应gridView.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position,long id) {//弹出单击的GridView元素的位置Toast.makeText(MainActivity.this, mThumbIds[position], Toast.LENGTH_LONG).show();}});}private class ImageAdapter extends BaseAdapter{private Context mContext;public ImageAdapter(Context context) {this.mContext = context;}@Overridepublic int getCount() {return mThumbIds.length;}@Overridepublic Object getItem(int position) {return mThumbIds[position];}@Overridepublic long getItemId(int arg0) {// TODO 自动生成的方法存根return 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {//定义一个ImageView,显示在GridView里 ImageView imageView;if(convertView==null){imageView = new ImageView(mContext);imageView.setLayoutParams(new GridView.LayoutParams(85,85));imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);imageView.setPadding(8, 8, 8, 8);}else{imageView = (ImageView) convertView;}imageView.setImageResource(mThumbIds[position]);return imageView;}}}
这里我们也是采用的自定义Adapter,展示了一些图片,然后点击一个图片的时候会显示这个图片所在的位置。
3、运行程序,效果图如下:
1 0
- Android系列教程之九:GridView组件的使用
- Android系列教程之九:GridView组件的使用
- Android系列教程之九:GridView组件的使用
- Android系列教程之GridView组件的使用
- Android系列教程之九:GridView组件的使用
- Android系列教程之八:ListView组件的使用
- Android系列教程之八:ListView组件的使用
- Android GridView组件的使用
- android组件之GridView
- Android的UI组件之GridView
- Android中GridView组件的使用
- GridView组件的使用
- GridView组件的使用
- GridView组件的使用
- GridView组件的使用
- Android 控件系列: GridView 的简单使用
- android 之GridView 的使用
- android组件GridView简单使用
- Android 高仿新浪微博底部导航栏,实现双击首页Tab,页面的ListView滚动、刷新
- URL组成
- 《企业应用架构模式》读书笔记1-并发
- 记录通过libvirt的virsh命令启动虚拟机而不通过openstack
- Selenium2相关疑问
- Android系列教程之GridView组件的使用
- GitHub上史上最全的Android开源项目分类汇总
- Android卸载程序之后跳转到指定的反馈页面
- ListView局部刷新
- 解决centos7中yum安装包时遇到python版本不一致问题
- 机房收费系统文档
- android 通过eclipse混淆代码 打包 + proguard 总结
- hashmap测试key的hashcoode相同的效果
- no class