写道
GridView是一个网络布局的视图,他能让你的元素显示在一个个的格子里。我们的桌面就是一个GridView。。
Android系列教程目录:
-
-
-
-
-
-
-
-
我新建了一个Android的技术交流群,群号为86686524 120059404
,感兴趣的可以申请加入,大家一块学习。
- 新建一个HelloGridView的工程
- 修改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是意味着根据列宽自动缩放。
- 修改我们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讲解。展示了一些图片,然后点击一个图片的时候会显示这个图片所在的位置。
- 运行程序,效果图如下:
- 大小: 47.5 KB
分享到:
相关推荐
综上所述,实现"Android书架(自定义GridView)"涉及到了Android的基础组件使用、自定义适配器、布局设计、数据绑定、性能优化等多个方面,是Android开发中一项综合性的实践。通过这个项目,开发者不仅可以掌握...
在Android应用开发中,UI(用户界面)组件是构建应用程序不可或缺的部分。这些组件构成了用户与应用交互的视觉元素。以下是对“android ui组件大全”这个主题的详细解析: 标题:“android ui组件大全” 这个标题...
每个Android应用都由一系列组件构成,包括活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供者(Content Provider)。活动是用户与应用交互的主要入口,服务在后台运行,广播接收器...
本教程将深入探讨以下Android组件:网格视图、图像切换、列表视图、单选按钮组、进度条、画廊、日期选择器以及复选框,并通过实例来帮助你更好地理解和应用这些组件。 1. **网格视图(GridView)** 网格视图是一种...
在Android开发中,`ViewPager`和`GridView`是两种非常重要的布局组件,它们分别用于实现页面的滑动切换和网格视图展示。本教程将详细讲解如何结合`ViewPager`和`GridView`实现在一个活动中实现横向滑动的网格效果。 ...
在本资源中,"老罗Android开发视频教程 (android常用UI编程) 26-33集源码.zip"是一个包含Android应用开发教学内容的压缩文件。老罗,可能指的是知名的技术讲师罗永浩,以其通俗易懂的讲解风格而闻名。这个教程聚焦于...
本教程将深入探讨如何使用Android Widget,通过提供的源码实例,涵盖了一系列基本到高级的组件,包括Button、Chronometer、Clock、DateTime、Edit、Gallery、Grid、Misc、Popup、Progress、Spinner和Video。...
总的来说,这个压缩包提供的教程涵盖了Android开发的基础知识,包括环境配置、基本组件的理解和使用,以及数据传递和UI设计。通过这些章节的学习,初学者能够建立起对Android开发的基本认识,并具备开发简单应用的...
Android提供了一系列丰富的UI组件,用于构建应用的基本界面: - **TextView**:用于显示文本。 - **Button**:用于创建可点击的按钮。 - **EditText**:用于获取用户的输入。 - **CheckBox**:用于实现多选功能。 -...
在Android开发中,GridView是一种常用的控件,常用于展示一系列相同大小的子项,比如图片、列表等。在本教程中,我们将学习如何在Android应用中实现类似微信的多图选择功能,通过GridView来展示图片,并添加添加按钮...
这份教程覆盖了多个关键主题,包括系统命令、UI组件的定制化、数据存储、网络通信、位置服务等,是提升Android开发技能的宝贵资源。 ### Android常用命令集锦 在开发或调试Android应用时,掌握一些基本的命令行...
本资源“70个Android源码”是针对Android SDK的一份详细实践教程,包含了70个精心设计的示例代码,旨在帮助开发者深入理解Android平台的各个方面,并学习如何利用HTML5技术打造手机应用程序。 首先,我们来看...
在本课程中,"Android2048GameLesson" 是一个专注于教授如何在Android平台上开发经典数字游戏2048的教程。这个课程通过一系列视频教学,帮助开发者掌握Android应用开发的基本技能,同时深入理解2048游戏的逻辑实现。...
"传智播客_Andorid_Android基础视频video_第六天修"这个资源显然是一系列面向初学者的教程视频,旨在帮助学习者掌握Android开发的基本概念和技术。第六天的课程可能是对前五天内容的巩固和深化,也可能引入了新的...
2. **GallaryTest**: 这个可能是关于Android中的`Gallery`组件的测试项目。`Gallery`是旧版Android SDK中的一个控件,用于展示一系列水平滑动的图片或视图。开发者可以学习如何实现图片滑动、触摸事件处理和自定义...
在Android平台上,`Gallery`组件是一种用于展示一系列图像或项目的视图控件,它提供了平滑的滚动体验,用户可以通过左右滑动来浏览项目。在Android早期版本中,`Gallery`被广泛用来创建类似相册的3D效果,尽管在API ...
【描述】"管理系统系列--Android 图书管理系统APP"暗示了这可能是系列教程或项目的一部分,专注于图书管理功能。这样的系统通常包括图书的添加、删除、修改、搜索和借阅等功能。用户可能可以通过输入关键词搜索书籍...
以上控件只是Android开发中的一部分,实际上还有许多其他控件,如ListView、GridView、DatePicker、TimePicker等,它们共同构成了Android丰富的UI组件库。在实际开发中,开发者可以根据需求灵活组合使用这些控件,...
本教程将详细讲解如何在Android应用中使用BaseAdapter来绑定数据到GridView控件,以实现自定义的列表显示。 一、ListView与BaseAdapter的基础知识 1. **ListView**:ListView是一个可滚动的视图,用于显示一系列可...