`

实现图文混排ListView展示 ---- Android版

阅读更多

使用eclipse创建一个Android Application  创建完成之后,开始java代码的编写

  • 声明变量
    //listview列表
    private ListView listView;
    //数据适配器
    private SimpleAdapter simp_adapter;
    //被展示数据源
    private List<Map<String,Object>>dataList;
     
  • 在res/layout 中创建 main.xml和item.xml ,把main.xml做为展示的主页面 ,那么在MainActivity.java文件中函数onCreat修改为:
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    }
     
  • 在 main.xml 中添加一个listview,(手动拖动控件也会将代码展示到main.xml中)如下:
    <ListView
            android:id="@+id/listView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
    </ListView>
     
  • item.xml文件是布局listview中一栏的图片和文字 。在item.xml文件中添加一个imageview 和 两个 textview,代码如下:
       <ImageView 
            android:id="@+id/pic"
            android:layout_marginTop="15dp"
            android:layout_marginLeft="15dp"
            android:paddingBottom="15dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/aiweier"/>
        
        <TextView 
            android:id="@+id/name"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="10dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#000000"
            android:textSize="20sp"
            />
        <TextView 
            android:id="@+id/profile"
            android:layout_marginLeft="-60dp"
            android:layout_marginTop="35dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#000000"
            android:textSize="15sp"
            />
     
  • 将在MainActivity.java文件中声明的变量实例化
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            listView = (ListView)findViewById(R.id.listView);
            //新建一个数组适配器
            //ArrayAdapter(上下文,当前listview加载的每一个列表项所对应的布局文件,数据源)
            //SimpleAdapter()
            /*
             * context:上下文
             * data:(List<? extends Map<String, ?>> data)一个Map所组成的List集合
             *      每一个map都回去对应了listview列表中的一行
             *      每一个Map(键值对)中的键必须包含所有在from中所指定的键
             * resource:列表项的布局文件ID,与from成对应关系
             * from:Map中的键名
             * to:绑定数据视图中的ID
             */
            //适配器加载数据源
            dataList = new ArrayList<Map<String,Object>>();
            simp_adapter = new SimpleAdapter(this, getData(), R.layout.item, new String[]{"pic","name","profile"}, new int[]{R.id.pic,R.id.name,R.id.profile});
            //视图加载适配器
            listView.setAdapter(simp_adapter);
        }
     
  • 左侧显示的图片保存在文件/res/drawable-hdpi中,这样我们就可以通过R.drawable.filename获取到图片了,如:R.drawable.fanbingbing,这可是一个int类型的数据,所以我用int类型的数组存储这些图片数据
    int[] arr_pic = {R.drawable.fanbingbing,R.drawable.yangmi,R.drawable.zhangxinyi,R.drawable.aiweier,R.drawable.liushishi,R.drawable.piaoxinhui,R.drawable.yuner};
    //我们这有 范冰冰  杨幂 张歆艺 艾薇儿 刘诗诗 朴信惠 允儿
     
  • 实现获取数据的函数getData(),函数的返回值类型为List<Map<String,Object>>,实现代码如下:
    private List<Map<String,Object>> getData()
    {
        	int[] arr_pic = {R.drawable.fanbingbing,R.drawable.yangmi,R.drawable.zhangxinyi,R.drawable.aiweier,R.drawable.liushishi,R.drawable.piaoxinhui,R.drawable.yuner};
        	String[] arr_name = {"范冰冰","杨幂幂","张歆艺","艾薇儿","刘诗诗","朴信惠","允儿儿"};
        	String[] arr_profile = {
        			"1981年9月16日生于山东青岛,毕业于上海师范大学谢晋影视艺术学院,中国女演员。",
                    "中国女演员、歌手、电视剧制片人。出生于北京。毕业于北京电影学院表演系。",
        			"中国内地女演员,出生于1981年5月29日,2005年毕业于中央戏剧学院表演系本科班。",
        			"1984年9月27日出生于加拿大安大略省,加拿大女歌手、词曲创作者、演员。",
        			"原名刘诗施,中国内地影视女演员,出生于北京,毕业于北京舞蹈学院芭蕾舞专业。",
        			"2001年,11岁的朴信惠拍摄了李承焕的第一部MV《爱吗》",
        			"1990年5月30日出生于首尔,韩国女歌手、演员,女子演唱团体少女时代成员。"
        	};
        	for(int i = 0; i < 7; i ++)
        	{
        		Map<String,Object> map = new HashMap<String, Object>();
        		map.put("pic", arr_pic[i]);
        		map.put("name", arr_name[i]);
        		map.put("profile", arr_profile[i]);
        		dataList.add(map);
        	}
        	return dataList;
    }
     
  • 好了,整个的图文混排的listview展示完毕了,大家请欣赏

 

  • 大小: 81 KB
分享到:
评论

相关推荐

    图文混排listView

    【图文混排ListView】是一种常见的UI设计模式,在Android开发中被广泛应用,特别是在展示大量带有文本和图片信息的列表时。ListView的高效性在于它可以只加载屏幕可见的部分内容,从而节省内存资源,提升用户体验。...

    android listview 下拉刷新 动态加载数据 图文混排

    以上就是关于“Android ListView下拉刷新、动态加载数据及图文混排”的实现步骤。通过这个功能,用户可以在滚动到列表底部时加载更多内容,而下拉刷新则允许用户获取最新的数据,提高了用户体验。

    ListView 图文混排,上拉加载,下拉刷新

    在ListView中实现图文混排,通常需要用到自定义的Adapter。Adapter是连接数据源与ListView的桥梁,它负责将数据转化为ListView项视图。我们可以创建一个继承自BaseAdapter的自定义Adapter类,在`getView()`方法中...

    图文混排 异步加载

    在Android开发中,"图文混排 异步加载"是一个重要的功能点,广泛应用于新闻、电商等应用中,为用户提供良好的阅读体验。本篇将详细阐述这个主题,重点关注Handler、ListView以及异步加载图片的核心技术。 1. **图文...

    Android自定义ListView示意-XListView

    3. **自定义布局**:XListView允许开发者自定义列表项的布局,这使得在列表中可以展示更丰富的信息,比如图文混排、多列布局等。 4. **回调接口**:为了与业务逻辑交互,XListView提供了一系列的回调接口,如...

    Android应用源码之仿qq实现图文混排以及涂鸦等功能-IT计算机-毕业设计.zip

    该Android应用源码项目主要目的是实现仿QQ的功能,包括图文混排和涂鸦等特性,这对于移动开发App的学习,特别是Android平台的开发实践具有很高的参考价值。以下将详细阐述相关知识点: 1. 图文混排:在Android开发...

    老罗07-Handler综合练习(图文混排)源码

    本项目“老罗07-Handler综合练习(图文混排)源码”旨在帮助开发者深入理解并熟练掌握`Handler`机制以及在实际应用中的运用,特别是涉及到图文混排的情况。 `Handler`是Android消息处理系统的核心组成部分,它与`...

    安卓listview相关相关-这是一个包含异步加载网络编程JSON解析LruCache图片缓存的简易的ListView图文混排Demo.rar

    ListView的每个条目(ViewHolder)可以包含不同的视图元素,如文本、图片等,实现图文混排。Adapter是连接ListView和数据源的关键,它负责创建View并填充数据。在这个Demo中,Adapter可能已经实现了对不同类型的...

    Android Json数据的解析+ListView图文混排+缓存算法Lrucache 仿知乎

    本项目聚焦于Android中的JSON数据解析、ListView图文混排以及缓存策略LRUCache,这些都是实现高效、流畅用户体验的关键技术。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于...

    仿qq实现图文混排以及涂鸦等功能.zip

    1. "新提醒”仿qq实现图文混排以及涂鸦等功能-Android开发源码下载-eoe Android开发者社区_Android开发论坛 - Powered by Discuz!.pdf" 这可能是关于项目的详细说明或教程,包含了实现这些功能的步骤和关键点。 2. ...

    微信发送图像 , 图文混排知识点

    这篇文章将详细讲解如何在Android应用中实现在聊天界面中发送文本和图像,并进行图文混排,以及如何在ListView中动态刷新数据。 首先,我们需要理解“图文混排”。在UI设计中,图文混排是指在同一个布局中同时展示...

    Android源码——Spinner图文混排源码_new_15.zip

    本资源“Android源码——Spinner图文混排源码_new_15.zip”主要探讨了如何在Spinner中实现图文混排的效果,这对于创建美观且易用的UI设计非常重要。以下将详细解释这个知识点。 首先,Spinner的基础知识:Spinner是...

    Android Spinner图文混排源码.rar

    这个"Android Spinner图文混排源码.rar"压缩包包含了实现Spinner中包含文本和图片混排的示例代码。以下是对这个主题的详细解释: 1. **Spinner的基本概念** Spinner是Android SDK提供的一种用户界面组件,它类似于...

    android listview实现新闻列表展示效果

    在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表,比如新闻列表的展示。本教程将详细讲解如何利用ListView实现一个新闻列表的展示效果。以下将从以下几个方面进行详细阐述: 一、ListView的...

    listview 添加图片效果显示,加文字搜索提示

    这个项目“listview 添加图片效果显示,加文字搜索提示”显然关注于如何在ListView中实现图文混排以及添加搜索功能。以下将详细讲解这两个关键知识点。 1. **图文混排**: 在ListView中显示图文混排的内容,通常...

    Android实现可以图文混合和长截图的日记本App,优秀安卓课程设计!

    2.这个记事本程序支持图文混排 3.可以从相机、图库调取图片 4.可以将笔记分享为长图 5.长按ListView多选删除 6.必要的提醒:例如按两次退出程序 本程序的技术关键点 1.采用了多线程技术以提升程序的性能:主要在...

    android异步在网络上读取多张图片,显示在页面布局GridView,viewPager,gallery,ListView

    在Android开发中,异步加载网络图片是一项常见的需求,特别是在构建包含多个图片的视图组件如GridView、ViewPager、Gallery和ListView时。这些组件通常用于展示相册、产品列表或者社交媒体内容,因此高效的图片加载...

    仿知乎日报ListView

    这个项目主要目标是实现一个自定义的ListView,它能够包含多种类型的item(如文字、图片、图文混排等),同时具备良好的用户体验,如平滑滚动、动态加载等特性。在Android开发中,ListView是一个非常重要的组件,它...

Global site tag (gtag.js) - Google Analytics