`

利用GridView来做一个简单的图片查看器

阅读更多

        首先简单说明一下实现这个简单的图片查看器,我们需要做些那些工作,实现图片查看器我们应该第一先到要用到的是适配器(Adapter)一下是adpter的构造函数,

SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) 从构造函数我们可以看出他告诉我们要实现他我们需要给他传一个context上下文的参数 ,list数据源数组,resource数据源文件用来显示List中一条数据的布局文件,String[] HashMapKey的值,int[]to 元素中布局文件中的试图id (应为)这里图片肯定不只一张需要用数组来保存;

显示GridVeiwdlayout

    <GridView

        android:id="@+id/gridView"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:horizontalSpacing="10dp"

        android:numColumns="4"

        android:padding="10dp"

        android:verticalSpacing="100dp"

/>

//这个GridVeiw控件的是四列组成 内边距是10dp水平间隔也是100dp

显示图片和备注的layout

    <ImageView

        android:id="@+id/img"

        android:layout_width="50dp"

        android:layout_height="50dp"

       />

 

    <TextView

        android:id="@+id/text"

        android:layout_width="50dp"

        android:layout_height="wrap_content"

        android:gravity="center_horizontal"

       />

//这个layout就是一个ImgeVeiwTextVeiw控件属性也比较简单这里我不多说了

这个在MainActivity需要实现的代码

       private GridView gridView;

       static int[] imgs = { R.drawable.a1, R.drawable.a2, ………};

       //这个数组的作用是存放的图片,这个我了叙述简单就直接将突破存放在res.drawable-hdpi下面,当然在实际的项目中图片的存放有可能是一个url路径,或者是CD卡。

@Override

       protected void onCreate(Bundle savedInstanceState) {

              super.onCreate(savedInstanceState);

              this.setContentView(R.layout.activity_third);

 

              // 获得网格视图

              gridView = (GridView) this.findViewById(R.id.gridView);

 

              // 数据源

              ArrayList<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>();

 

              for (int i = 0; i < imgs.length; i++) {

HashMap<String, Object> map = new HashMap<String,Object>();

                     map.put("k1", imgs[i]);

                     map.put("k2", "程序" + i);

                     data.add(map);

              }

 

              String[] from = { "k1", "k2" };

              int[] to = { R.id.img, R.id.text };

              // 参数1:上下文

              // 参数2:数据

              // 参数3:用来显示List中一条数据的布局文件

              // 参数4HashMapK的数组  

              // 参数5:元素的布局文件中的视图id

              SimpleAdapter adapter = new SimpleAdapter(this, data,

                            R.layout.grid_item, from, to);

              gridView.setAdapter(adapter);

       //设置这个适配器

 

       }

 

       效果图:

       

 

这就是一个简单的图片查看器 很简单 大家去试一试吧。。。

  • 大小: 29.6 KB
0
0
分享到:
评论

相关推荐

    Android仿微信照片选择器实现预览查看图片

    好了下面进入正题,我们先...首先开启一个线程去扫描图片 /** * 利用ContentProvider扫描手机中的图片,此方法在运行在子线程中 完成图片的扫描,最终获得jpg最多的那个文件夹 */ private void getImages() { if

    asp.net知识库

    鼠标放在一个连接上,会显示图片(类似tooltip) 使用microsoft.web.ui.webcontrols的TabStrip与IFame组件,达到页的切换效果 HttpModule 实现 ASP.Net (*.aspx) 中文简繁体的自动转换,不用修改原有的任何代码,直接部署...

    ios-codepath-gridview:代码路径goole图像分配

    项目2- GridViewImageSearch 您的应用名称是一个android应用,可让用户使用简单的过滤器在网络上搜索图片。 该应用程序利用 。 请注意,自2011年5月26日起,API已正式弃用。 花费时间:总共花费4个小时用户故事完成...

    C#编程经验技巧宝典

    72 &lt;br&gt;0102 将字符串首字母转换大写 72 &lt;br&gt;0103 如何进行字节数组和字符串的相互转换 72 &lt;br&gt;0104 如何把一个按空格分割的字符串存储在一个ArrayList数组中 73 &lt;br&gt;4.2 获取字符串信息 73 ...

    android开发入门与实战(下)

    第5章 千里之行始于足下——第一个应用HelloWorld 5.1 HelloWorld应用分析 5.1.1 新建一个Android工程 5.1.2 填写工程的信息 5.1.3 编程实现 5.1.4 运行项目 5.2 调试项目 5.2.1 设置断点 5.2.2 Debug项目 5.2.3 ...

    android开发入门与实战(上)

    第5章 千里之行始于足下——第一个应用HelloWorld 5.1 HelloWorld应用分析 5.1.1 新建一个Android工程 5.1.2 填写工程的信息 5.1.3 编程实现 5.1.4 运行项目 5.2 调试项目 5.2.1 设置断点 5.2.2 Debug项目 5.2.3 ...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--网络图片查看器 |--网络图片的下载与缓存 |--网络文件的下载与关联进度条 |--联系人之各种查找 |--联系人读写与批量操作 |--联系人读取 |--自定义shape形状颜色渐变资源 |--自定义Toast |--自定义view的属性 |--...

    Google.Android开发入门与实战

    为了承载这些数据应用及快速部署,手机功能将会越来越智能,越来越开放,为了实现这些需求,必须有一个好的开发平台来支持,在此由Google公司发起的OHA联盟走在了业界的前列,2007年11月推出了开放的Android平台,...

    Android 开发技巧

    9.31、把文件内容读出到一个字符串 245 9.32、扫描WIFI热点演示实例教程 246 9.33、调用GOOGLE搜索 249 9.34、调用浏览器 载入某网址 249 9.35、获取 IP地址 249 9.36、从输入流中获取数据并以字节数组返回 250 9.37...

    Google Android开发入门与实战的代码

    第5章 千里之行 始于足下——第一个应用HelloWorld 52 5.1 HelloWorld应用分析 52 5.1.1 新建一个Android工程 52 5.1.2 填写工程的信息 52 5.1.3 编程实现 53 5.1.4 运行项目 54 5.2 调试项目 ...

    Android开发资料合集-World版!

    9.31、把文件内容读出到一个字符串 245 9.32、扫描WIFI热点演示实例教程 246 9.33、调用GOOGLE搜索 249 9.34、调用浏览器 载入某网址 249 9.35、获取 IP地址 249 9.36、从输入流中获取数据并以字节数组返回 250 9.37...

    《Google Android开发入门与实战》.pdf

    第5章 千里之行 始于足下——第一个应用helloworld 52 5.1 helloworld应用分析 52 5.1.1 新建一个android工程 52 5.1.2 填写工程的信息 52 5.1.3 编程实现 53 5.1.4 运行项目 54 5.2 调试项目 ...

    疯狂Android讲义源码

     1.4 开始第一个Android应用 20  1.4.1 使用Eclipse开发第一个  Android应用 20  1.4.2 通过ADT运行Android应用 23  1.5 Android应用结构分析 24  1.5.1 创建一个Android应用 24  1.5.2 自动生成的R.java 26 ...

    疯狂Android讲义.part2

    1.4 开始第一个Android应用 20 1.4.1 使用Eclipse开发第一个 Android应用 20 1.4.2 通过ADT运行Android应用 23 1.5 Android应用结构分析 24 1.5.1 创建一个Android应用 24 1.5.2 自动生成的R.java 26 1.5.3 res目录...

    疯狂Android讲义.part1

    1.4 开始第一个Android应用 20 1.4.1 使用Eclipse开发第一个 Android应用 20 1.4.2 通过ADT运行Android应用 23 1.5 Android应用结构分析 24 1.5.1 创建一个Android应用 24 1.5.2 自动生成的R.java 26 1.5.3 res目录...

    3.ASP.NET 2.0 入门经典(第4版) [压缩包1/10]

    ASP.NET 2.0在Web应用程序开发方面迈出了革命性的一步,新增了50多个服务器控件,类的数量也增加了一倍,其他许多方面也有很重大的变化。ASP.NET 2.0的目标是提高开发人员的效率、改善应用程序的性能和可伸缩性...

Global site tag (gtag.js) - Google Analytics