`

Android系列教程之九:GridView组件的使用

阅读更多
写道
GridView是一个网络布局的视图,他能让你的元素显示在一个个的格子里。我们的桌面就是一个GridView。。
 

Android系列教程目录:

  1. Android教程之一:Window下搭建Android开发环境

  2. Android教程之二:Linux下搭建Android开发环境

  3. Android教程之三:第一个Android应用,HelloWorld

  4. Android系列教程之四:Android项目的目录结构

  5. Android系列教程之五:Activity的生命周期

  6. Android系列教程之六:TextView小组件的使用--附带超链接和跑马灯效果

  7. Android系列教程之七:EditText使用详解-包含很多教程上看不到的功能演示

  8. Android系列教程之八:ListView组件的使用

本文版权归飞雪无情 所有,转载请注明出处, 永久链接: http://flysnow.iteye.com/blog/890171

我新建了一个Android的技术交流群,群号为86686524    120059404 ,感兴趣的可以申请加入,大家一块学习。

 

  1. 新建一个HelloGridView的工程
  2. 修改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是意味着根据列宽自动缩放。
  3. 修改我们Activity HelloGridView如下:
    /**
     * 
     * @author 飞雪无情
     * @since 2011-1-20
     */
    public class HelloGridView extends Activity {
        /** Called when the activity is first created. */
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    		GridView gridView=(GridView)findViewById(R.id.gridview);
    		gridView.setAdapter(new ImageAdapter(this));
    		//单击GridView元素的响应
    		gridView.setOnItemClickListener(new OnItemClickListener() {
    
    			@Override
    			public void onItemClick(AdapterView<?> parent, View view,
    					int position, long id) {
    				//弹出单击的GridView元素的位置
    				Toast.makeText(HelloGridView.this,mThumbIds[position], Toast.LENGTH_SHORT).show();
    			}
    		});
    	}
    	private class ImageAdapter extends BaseAdapter{
    		private Context mContext;
    
    		public ImageAdapter(Context context) {
    			this.mContext=context;
    		}
    
    		@Override
    		public int getCount() {
    			return mThumbIds.length;
    		}
    
    		@Override
    		public Object getItem(int position) {
    			return mThumbIds[position];
    		}
    
    		@Override
    		public long getItemId(int position) {
    			// TODO Auto-generated method stub
    			return 0;
    		}
    
    		@Override
    		public 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;
    		}
    		
    
    		
    	}
    	//展示图片
    	private Integer[] mThumbIds = {
                R.drawable.sample_2, R.drawable.sample_3,
                R.drawable.sample_4, R.drawable.sample_5,
                R.drawable.sample_6, R.drawable.sample_7,
                R.drawable.sample_0, R.drawable.sample_1,
                R.drawable.sample_2, R.drawable.sample_3,
                R.drawable.sample_4, R.drawable.sample_5,
                R.drawable.sample_6, R.drawable.sample_7,
                R.drawable.sample_0, R.drawable.sample_1,
                R.drawable.sample_2, R.drawable.sample_3,
                R.drawable.sample_4, R.drawable.sample_5,
                R.drawable.sample_6, R.drawable.sample_7
        };
    }
     这里我们也是采用的自定义Adapter,可以上一节的自定义Adapter讲解。展示了一些图片,然后点击一个图片的时候会显示这个图片所在的位置。
  4. 运行程序,效果图如下:

     
  • 大小: 47.5 KB
8
5
分享到:
评论

相关推荐

    Android书架(自定义GridView)

    综上所述,实现"Android书架(自定义GridView)"涉及到了Android的基础组件使用、自定义适配器、布局设计、数据绑定、性能优化等多个方面,是Android开发中一项综合性的实践。通过这个项目,开发者不仅可以掌握...

    android ui组件大全

    在Android应用开发中,UI(用户界面)组件是构建应用程序不可或缺的部分。这些组件构成了用户与应用交互的视觉元素。以下是对“android ui组件大全”这个主题的详细解析: 标题:“android ui组件大全” 这个标题...

    Android开发教程笔记完全版 pdf

    每个Android应用都由一系列组件构成,包括活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供者(Content Provider)。活动是用户与应用交互的主要入口,服务在后台运行,广播接收器...

    Android学习 各组件学习实例

    本教程将深入探讨以下Android组件:网格视图、图像切换、列表视图、单选按钮组、进度条、画廊、日期选择器以及复选框,并通过实例来帮助你更好地理解和应用这些组件。 1. **网格视图(GridView)** 网格视图是一种...

    ViewPager GridView进行横向滑动

    在Android开发中,`ViewPager`和`GridView`是两种非常重要的布局组件,它们分别用于实现页面的滑动切换和网格视图展示。本教程将详细讲解如何结合`ViewPager`和`GridView`实现在一个活动中实现横向滑动的网格效果。 ...

    老罗Android开发视频教程 (android常用UI编程) 26-33集源码

    在本资源中,"老罗Android开发视频教程 (android常用UI编程) 26-33集源码.zip"是一个包含Android应用开发教学内容的压缩文件。老罗,可能指的是知名的技术讲师罗永浩,以其通俗易懂的讲解风格而闻名。这个教程聚焦于...

    android widget 开发实例源码

    本教程将深入探讨如何使用Android Widget,通过提供的源码实例,涵盖了一系列基本到高级的组件,包括Button、Chronometer、Clock、DateTime、Edit、Gallery、Grid、Misc、Popup、Progress、Spinner和Video。...

    android 的简单应用

    总的来说,这个压缩包提供的教程涵盖了Android开发的基础知识,包括环境配置、基本组件的理解和使用,以及数据传递和UI设计。通过这些章节的学习,初学者能够建立起对Android开发的基本认识,并具备开发简单应用的...

    Android开发教程

    Android提供了一系列丰富的UI组件,用于构建应用的基本界面: - **TextView**:用于显示文本。 - **Button**:用于创建可点击的按钮。 - **EditText**:用于获取用户的输入。 - **CheckBox**:用于实现多选功能。 -...

    Android GridView仿微信添加多图效果

    在Android开发中,GridView是一种常用的控件,常用于展示一系列相同大小的子项,比如图片、列表等。在本教程中,我们将学习如何在Android应用中实现类似微信的多图选择功能,通过GridView来展示图片,并添加添加按钮...

    android高手进阶教程

    这份教程覆盖了多个关键主题,包括系统命令、UI组件的定制化、数据存储、网络通信、位置服务等,是提升Android开发技能的宝贵资源。 ### Android常用命令集锦 在开发或调试Android应用时,掌握一些基本的命令行...

    70个android源码

    本资源“70个Android源码”是针对Android SDK的一份详细实践教程,包含了70个精心设计的示例代码,旨在帮助开发者深入理解Android平台的各个方面,并学习如何利用HTML5技术打造手机应用程序。 首先,我们来看...

    Android2048GameLesson:Android版2048游戏视频教程

    在本课程中,"Android2048GameLesson" 是一个专注于教授如何在Android平台上开发经典数字游戏2048的教程。这个课程通过一系列视频教学,帮助开发者掌握Android应用开发的基本技能,同时深入理解2048游戏的逻辑实现。...

    传智播客_Andorid_Android基础视频video_第六天修

    "传智播客_Andorid_Android基础视频video_第六天修"这个资源显然是一系列面向初学者的教程视频,旨在帮助学习者掌握Android开发的基本概念和技术。第六天的课程可能是对前五天内容的巩固和深化,也可能引入了新的...

    android开发样例

    2. **GallaryTest**: 这个可能是关于Android中的`Gallery`组件的测试项目。`Gallery`是旧版Android SDK中的一个控件,用于展示一系列水平滑动的图片或视图。开发者可以学习如何实现图片滑动、触摸事件处理和自定义...

    Android Gallery 3D效果

    在Android平台上,`Gallery`组件是一种用于展示一系列图像或项目的视图控件,它提供了平滑的滚动体验,用户可以通过左右滑动来浏览项目。在Android早期版本中,`Gallery`被广泛用来创建类似相册的3D效果,尽管在API ...

    管理系统系列--Android 图书管理系统APP.zip

    【描述】"管理系统系列--Android 图书管理系统APP"暗示了这可能是系列教程或项目的一部分,专注于图书管理功能。这样的系统通常包括图书的添加、删除、修改、搜索和借阅等功能。用户可能可以通过输入关键词搜索书籍...

    Android手机应用程序开发

    以上控件只是Android开发中的一部分,实际上还有许多其他控件,如ListView、GridView、DatePicker、TimePicker等,它们共同构成了Android丰富的UI组件库。在实际开发中,开发者可以根据需求灵活组合使用这些控件,...

    listviwe_BaseAdapter_influencesml_android开发_

    本教程将详细讲解如何在Android应用中使用BaseAdapter来绑定数据到GridView控件,以实现自定义的列表显示。 一、ListView与BaseAdapter的基础知识 1. **ListView**:ListView是一个可滚动的视图,用于显示一系列可...

Global site tag (gtag.js) - Google Analytics