一、效果图:

二、代码实现

2.1ListViewActivity

package cn.ac.ucas.yp.uiwidgettest;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;import java.util.ArrayList;
import java.util.List;public class ListViewActivity extends AppCompatActivity {private String[] data = {"Apple", "Orange", "Watermelon", "Pear"};private List<Fruit> fruitList = new ArrayList<Fruit>();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.listview);initFruits();ListView listview1 = (ListView) findViewById(R.id.listview1);FruitAdapter fruitAdapter = new FruitAdapter(ListViewActivity.this, R.layout.fruit_item, fruitList);listview1.setAdapter(fruitAdapter);/*ArrayAdapter<String> adapter=new ArrayAdapter<String>(ListViewActivity.this,android.R.layout.simple_list_item_1,data);listview1.setAdapter(adapter);*/listview1.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) {Fruit fruit = fruitList.get(position);Toast.makeText(ListViewActivity.this, fruit.getName(), Toast.LENGTH_SHORT).show();}});}private void initFruits() {Fruit apple = new Fruit("Apple", R.drawable.apple, "治下痢、降血脂、滋润皮肤。");fruitList.add(apple);Fruit banana = new Fruit("banana", R.drawable.bananas, "香蕉被称为百果之冠,具有润肠通便,清热解毒,健脑益智,通血脉,填精髓,降血压等功效。");fruitList.add(banana);Fruit cherry = new Fruit("cherry", R.drawable.cherry, "樱桃补中益气,祛风胜湿");fruitList.add(cherry);Fruit grape = new Fruit("grape", R.drawable.grape, "葡萄营养丰富、酸甜可口,因此成为世界四大水果(苹果、葡萄、柑橘和香蕉)之一");fruitList.add(grape);Fruit kiwi = new Fruit("kiwi", R.drawable.kiwi, "能促使血液循环顺畅,增进性能力。");fruitList.add(kiwi);Fruit lemon = new Fruit("lemon", R.drawable.lemon, "可增强消化、出汗过多、食欲不振、体力倦怠、减肥解酒。");fruitList.add(lemon);Fruit mango = new Fruit("mango", R.drawable.mango, "芒果果实营养价值极高,维生素A的含量比杏子还要多出1倍 ");fruitList.add(mango);Fruit orange = new Fruit("orange", R.drawable.orange, "桔子含水量高、营养丰富");fruitList.add(orange);Fruit pear = new Fruit("pear", R.drawable.pear, "清解热毒、镇咳化痰。");fruitList.add(pear);Fruit persimmon = new Fruit("persimmon", R.drawable.persimmon, "柿子营养丰富,但要吃得健康,不过要注意一些与柿子相克的食物 ");fruitList.add(persimmon);Fruit pineapple = new Fruit("pineapple", R.drawable.pineapple, "菠萝清香宜人,汁多味甜,广受人们喜爱。");fruitList.add(pineapple);Fruit strawberry = new Fruit("strawberry", R.drawable.strawberry,"去火、解暑、清热;促进胃肠蠕动、帮助消化、改善便秘;预防痔疮、肠癌 ");fruitList.add(strawberry);Fruit watermelon = new Fruit("watermelon", R.drawable.watermelon, "西瓜味道甘味多汁,清爽解渴,是盛夏佳果。");fruitList.add(watermelon);}
}

2.2ListViewActivity对应的布局文件listview.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="cn.ac.ucas.yp.uiwidgettest.ListViewActivity"><ListView
        android:id="@+id/listview1"android:layout_width="match_parent"android:layout_height="match_parent"></ListView></RelativeLayout>

2.3fruit.java

package cn.ac.ucas.yp.uiwidgettest;/*** Created by yp on 16/4/15.*/
public class Fruit {private String name;private int imageId;private String introduction;public Fruit(String name, int imageId,String introduction) {this.name = name;this.introduction = introduction;this.imageId = imageId;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getIntroduction() {return introduction;}public void setIntroduction(String introduction) {this.introduction = introduction;}public int getImageId() {return imageId;}public void setImageId(int imageId) {this.imageId = imageId;}
}

2.4FruitAdapter.java

package cn.ac.ucas.yp.uiwidgettest;import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;import java.util.List;/*** Created by yp on 16/4/15.*/
public class FruitAdapter extends ArrayAdapter {private int resourceId;public FruitAdapter(Context context, int textViewResourceId, List<Fruit> objects) {super(context, textViewResourceId, objects);resourceId = textViewResourceId;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {Fruit fruit = (Fruit) getItem(position);View view;if (convertView == null) {view = LayoutInflater.from(getContext()).inflate(resourceId, null);} else {view = convertView;}ImageView fruitImage = (ImageView) view.findViewById(R.id.fruit_img);TextView fruitName = (TextView) view.findViewById(R.id.fruit_name);TextView fruitIntroduction = (TextView) view.findViewById(R.id.fruit_introduction);fruitImage.setImageResource(fruit.getImageId());fruitName.setText(fruit.getName());fruitIntroduction.setText(fruit.getIntroduction());return view;}
}

2.4fruit_item.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"><LinearLayout
        android:layout_width="0dip"android:layout_height="wrap_content"android:layout_weight="1"android:orientation="vertical"><ImageView
            android:id="@+id/fruit_img"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center" /><TextView
            android:id="@+id/fruit_name"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_gravity="center"android:layout_marginLeft="10dip"android:gravity="center"android:paddingLeft="0dp" /></LinearLayout><LinearLayout
        android:layout_width="0dip"android:layout_height="wrap_content"android:layout_weight="2"><TextView
            android:id="@+id/fruit_introduction"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_gravity="center" /></LinearLayout></LinearLayout>

[Android]listview图文混排相关推荐

  1. android多媒体图文混排,干货!!!Android富文本实现图文混排

    效果图 rich.jpg 像图中的效果,大家在开发并不少见,大家可能不知道android提供了实现图文混排的类.大家或许会写一个布局或者使用drawableLeft这个属性实现文本的左侧图标. and ...

  2. android多媒体图文混排,android图文混排

    背景 最近我们的产品来了个新的模块,给学生做题提高成绩的.需求如下: 支持单选.多选.填空题 支持图片文字混排 输入框有交互,排版精致美观 为了体验优化,不能使用网页实现效果 思路分析 我们的图文混排 ...

  3. Android 动态图文混排的常用方法

    2019独角兽企业重金招聘Python工程师标准>>> DrawableIcon的设置 对于TextView或者EditText动态设置drawableLeft,drawableRi ...

  4. Android动态图文混排,Android控件TextView实现静态图与动态GIF图文混排

    最近做项目功能时,需要在TextView中展示图文,刚开始做的时候以为很简单,只需要用个ImageView跟TextView来展示就行了,可是发现这样做,不能实现我们需要的效果,这就需要涉及到富文本T ...

  5. ListView详解 (ListView图文混排)

    ListView类 Class Overview A view that shows items in a vertically scrolling list. The items come from ...

  6. android 之图文混排+GridView

    实例代码: package com.hsj.example.gridviewdemo01;import android.app.ProgressDialog; import android.graph ...

  7. ListView异步加载图片,完美实现图文混排

    昨天参加一个面试,面试官让当场写一个类似于新闻列表的页面,文本数据和图片都从网络上获取,想起我还没写过ListView异步加载图片并实现图文混排效果的文章,so,今天就来写一下,介绍一下经验. Lis ...

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

    使用eclipse创建一个Android Application  创建完成之后,开始java代码的编写 声明变量 //listview列表 private ListView listView; // ...

  9. 利用ListView实现新闻客户端的新闻内容图文混排

    如图: 布局文件: <LinearLayout xmlns:android="<a href="http://schemas.android.com/apk/res/a ...

最新文章

  1. 10进制与16进制之间的转换 delphi
  2. 《研磨设计模式》chap3 外观模式Facade
  3. day15 接口与异常
  4. ROS | ROS2安装(Ubuntu 16.04版本:通过Debian包安装)
  5. Autosys command
  6. 【转】visual studio 2010失败或.net framework 4.0 0xc8000247错误解决
  7. html固定dl高度_HTML入门笔记1
  8. 《Unit Testing》1.4. 成功的测试套件拥有哪些属性?
  9. 关闭运动轨迹_网球初学者如何正确入门网球运动,有哪些学习细节
  10. pythonurllib的使用_python re和urllib的使用问题。
  11. 关于Vue中,$this.router.push到当前页面,只是传入参数不同,页面不刷新的问题解决
  12. 基于FPGA的跨时钟域信号处理——专用握手信号
  13. Python炸弹人小游戏源代码
  14. 如何更有效的开发中东市场客户?【干货】想拿土豪国大订单看过来!
  15. 2020-07-16-----web前端开发中用到的PS基础操作(PS取色、PS测量、PS切片)
  16. 西门子PLC怎么调试?
  17. 关于Dubbo的面试题,建议收藏
  18. [Matlab] 删除三维/高维数组非零/零项
  19. THINKPHP框架的优秀开源系统推荐
  20. 结构化数据和非结构化数据的提取【Python篇】

热门文章

  1. C语言程序设计 翁恺 中M2020春C入门练习第I段——变量、表达式、分支、循环 (2021/09/25 更新:AC代码 翻新至78题)
  2. JavaScript 学习总结(全)
  3. 一加7t人脸识别_一加7T新机设计图发布 这款手机的外观设计如何
  4. MySQL - 建库、建表、查询
  5. 浏览器主页被2345劫持解决
  6. (30)【RCE集合】RCE漏洞的原理、出现地方、相关命令、函数解析、利用详细的过程
  7. UTC、CST、GMT等时区详解
  8. 医学主题词表(Medical Subject Headings, MeSH)
  9. Mysql视图和触发器
  10. 在windows平台搭建基于nginx的直播服务器