效果如图:

实现代码:
首先编写res/layout/main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"android:background="#FFFFFF"><ListView android:id="@+id/listview1"android:layout_width="match_parent"android:layout_height="wrap_content"/></LinearLayout>

之后编写用于布局列表项内容的XML布局文件items.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#FFFFFF"android:orientation="horizontal" ><ImageView android:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/image"android:paddingTop="20px"android:paddingBottom="20px"android:adjustViewBounds="true"android:minWidth="72px"android:minHeight="72px"/><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="10px"android:layout_gravity="center"android:id="@+id/title"/>
</LinearLayout>

在主活动的onCreat()方法中,首先获取布局文件中添加的ListView,然后创建两个用于保存列表项图片id和文字的数组,并将这些图片id和文字添加到List集合中,在创建一个SimpleAdapter简单适配器,最后将该适配器与ListView相关联。具体代码如下:

package com.example.test;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);ListView listview=(ListView)findViewById(R.id.listview1);//获取列表视图int[] imageId=new int []{R.drawable.img01,R.drawable.img02,R.drawable.img03,R.drawable.img04,R.drawable.img05,R.drawable.img06,R.drawable.img07,R.drawable.img08};//定义并初始化保存图片id的数组//定义并初始化保存列表项文字的数组String[] title=new String[]{"视频播放","新闻媒体直播","查看联系人","设置","保存信息","我的写字板","二维码扫描","邮件发送"};List<Map<String,Object>> listitems=new ArrayList<Map<String,Object>>();for (int i = 0; i <imageId.length; i++) {Map<String,Object> map=new HashMap<String,Object>();//实例化map对象map.put("image", imageId[i]);map.put("title",title[i]);listitems.add(map);//将map对象装入List集合中}SimpleAdapter adapter=new SimpleAdapter(this,listitems,R.layout.items,new String[]{"title","image"},new int[]{R.id.title,R.id.image});listview.setAdapter(adapter);}
}

实现了上图的效果。

转载请注明出处:http://blog.csdn.net/acmman/article/details/44833969

【Android开发】范例2-实现带图标的ListView相关推荐

  1. Android开发中实现带有删除图标的EditText输入框

    效果图如下: 备注:附带一个隐藏和显示密码的功能实现. activity_main.xml布局文件的代码如下: <?xml version="1.0" encoding=&q ...

  2. c#.net中创建带图标的ListBox

    下面的代码实现了带图标的ListBoox的功能,可以直接拷贝即可运行.运行结果如下: using System; using System.Drawing; using System.Collecti ...

  3. CSS/HTML 5简洁带图标的input日期选择器

    CSS/HTML 5简洁带图标的input日期选择器 说明 css代码 html代码 演示效果图 说明 演示效果分辨率为1980x1080分辨率效果 高度可定制修改 纯css代码控制 使用的input ...

  4. 简单的入门Android开发和Java语言基础[图]

    简单的入门Android开发和Java语言基础[图] 前言: 去年年底到今年年初,我做过简单的智能家居,也实现过一些简单的直连和远程的智能家居.于是就将最简单的通信发布出来:智能家居简单实现-使用ES ...

  5. Android开发范例实战宝典

    环境配置 JDK //下载:个人推荐使用最新的JDK,可以避免很多不必要的麻烦 //环境配置:打开jdk安装目录下的bin,如F:\JDK\jdk1.8.0_101\bin,将这个地址配置到环境变量的 ...

  6. 安卓饼状图设置软件_安卓(Android)开发之自定义饼状图

    先来看看效果图 先分析饼状图的构成,非常明显,饼状图就是一个又一个的扇形构成的,每个扇形都有不同的颜色,对应的有名字,数据和百分比. 经以上信息可以得出饼状图的最基本数据应包括:名字 数据值 百分比 ...

  7. Android开发之自定义Toast(带详细注释)

    因为工作需求,所以自己研究了自定义Toast,这里做出总结: 在此之前有一点需要提前说明:Toast与其他组件一样,都属于UI界面中的内容,因此在子线程中无法使用Toast弹出提示内容,如果强行在子线 ...

  8. android开发隐藏图片,用美图看看安卓版教你如何隐藏私人图片(图文)

    手机本来就是一件很私人的物品,所以,如果存在手里的图片随便都可以让人翻阅的话,那私密性就没有任何保障了.如何不让其他人轻松就能看到.但自己可以随意调出手机里的私人图片呢?答案就是用美图看看安卓版的图片 ...

  9. android view绘制中调用的函数,Android开发实践:自定义带动画的View

    前面两篇文章介绍了自定义View的onMeasure和onLayout原理,本文准备介绍自定义View的第三个关键部分,即onDraw()函数的重载. 对于一个自定义View来说,onMeasure只 ...

  10. Leaflet中使用awesome-markers插件显示带图标的marker

    场景 Vue+Leaflet实现加载OSM显示地图: Vue+Leaflet实现加载OSM显示地图_BADAO_LIUMANG_QIZHI的博客-CSDN博客 在上面的基础上,实现Marker上带图标 ...

最新文章

  1. AHOI2008 聚会
  2. CUDA Samples: Streams' usage
  3. groovy 使用java类_在java中使用groovy怎么搞 (java and groovy)
  4. Linux Performance Monitoring with Vmstat and Iostat Commands
  5. JAVA数据结构-稀疏数组
  6. 每次调试都必须clean_如何使用“ The Clean Architecture”每次编写健壮的应用程序...
  7. Bootstrap CSS 编码规范之属性声明顺序
  8. 移动端自适应缩放代码
  9. OSPF虚链路技术原理与注意点
  10. Undertow 实现反向代理
  11. 超详细 Spring @RequestMapping 注解使用技巧
  12. 搭窝---开篇语---爆笑语录
  13. 8*8点阵贪食蛇,全教程
  14. RSD 教程 —— §3.2 创建的层
  15. 学ui设计可以从事什么工作
  16. DNSPod十问魏雪:云游戏的野心有多大?
  17. 正则_验证文本框输入的姓名是否规范(包含生僻字,不包含中文符号与其他字符)...
  18. VUE3学习笔记(二)VUE2 node.js 版本高
  19. 区块链开发之生成12个助记词
  20. 生成CelebA-HQ数据集

热门文章

  1. C# 获取当前路径或父路径
  2. dw php重复区域横向,php横向重复区域显示二法
  3. MAC:一个数据缓冲区,作为参数传递到另外一个函数就崩溃
  4. VS编译错误:error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
  5. 重装驱动:Failed to initialize NVML: Driver/library version mismatch
  6. 百度人脸识别:即使不用,也要import,否则C调用Python会崩溃
  7. C++中map的遍历的代码
  8. 多线程访问导致崩溃一例
  9. 气是能量的宏观运行的现象描述
  10. PCM转G711的JAVA代码