安卓:ListView组件实现微信通讯录效果(我的王者队友们)
ListView控件是列表视图展示,排列方式是纵向。
ListView组件实现微信通讯录效果,包含头像和文字,不能用entries这个属性来添加,要用SimpleAdapter适配器来添加数据
布局:垂直线性布局方式
头和尾全部用 ImageView组件来实现,中间我们用 ListView。
效果如图:(可滑动,点击显示名字)
一、准备头像图片:大小建议80x80;top与bottom图片如下图,放入drawable;
二、在activity_main.xml建立组件,如图
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main"android:layout_width="match_parent" android:layout_height="match_parent"android:orientation="vertical"tools:context="com.example.listview.MainActivity"android:weightSum="1"><ImageViewandroid:layout_width="match_parent"android:layout_height="40dp"android:src="@drawable/top"android:scaleType="fitXY" /><ListViewandroid:layout_width="match_parent"android:layout_height="472dp"android:id="@+id/myListView"></ListView><ImageViewandroid:layout_width="match_parent"android:layout_height="40dp"android:src="@drawable/bottom"android:scaleType="fitXY"/>
</LinearLayout>
三、在layout文件下建立一个新的布局文件(名字任意),并在其内建立组件,如图:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal"android:layout_width="match_parent"android:layout_height="match_parent"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/myImage"android:paddingTop="10dp"android:paddingBottom="10dp"android:paddingRight="10dp"android:adjustViewBounds="true"android:maxHeight="80dp"android:maxWidth="80dp"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/myTV"android:padding="10dp"android:layout_gravity="center"/></LinearLayout>
四、在MainActivity.java文件中编写代码实现
(这里的代码最好还是自己敲进去,因为直接复制粘贴会报错)
//定义整形数组存放图片idint[] 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,R.drawable.img09,R.drawable.img10,R.drawable.img11,R.drawable.img12};//定义字符串数组存放用户昵称String[] nickName=new String[]{"诸葛亮","领队李白","韩跳跳","百里守约","是子龙啊","爱哭的玄策","孙策—","守约(小号)","—大乔","白","信","黑色枫叶"};List<Map<String,Object>> list=new ArrayList<Map<String, Object>>();//List<T>for (int i=0;i<imageid.length;i++){Map<String,Object> map=new HashMap<String, Object>();map.put("image",imageid[i]);map.put("name",nickName[i]);list.add(map);}SimpleAdapter simpleAdapter=new SimpleAdapter(this,list,R.layout.main,new String[]{"name","image"},new int[]{R.id.myTV,R.id.myImage});ListView listView= (ListView) findViewById(R.id.myListView);listView.setAdapter(simpleAdapter);listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) {Map<String,Object> map= (Map<String, Object>) parent.getItemAtPosition(position);String str=map.get("name").toString();Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show();}});
五、修改AndroidManifest.xml文件(修改样式,也可以不改)
将AppTheme修改为Theme.AppCompat.Light.DarkActionBar
如果出现类似的错误:Error running imageswitcher手机相册图片滑动功能:Default Activity not found
那么就在AndroidManifest.xml文件中加入问题就会得到解决。
<activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter></activity>
到这里就结束了,如果这篇对你用,请帮忙点个赞,谢谢!
安卓:ListView组件实现微信通讯录效果(我的王者队友们)相关推荐
- 自定义实现微信通讯录效果View
欢迎访问我的个人独立博客 ittiger.cn,原创文章,未经允许不得随意转载. 前言 在使用App过程中,经常会有使用到联系人或城市列表的场景,其实这两种效果是一样的,都是右边有个索引列表,点击索引 ...
- (字母排序搜索)类似微信通讯录效果
最近刚好有要做一个聊天通讯录,有点类似微信,所以自己也把探索的总结一下,可能还要进一步优化: 不多说,先上效果图看看: 这里先说一些,要使用拼音字母转换,我们引用了第三方拼音库(pinyin4j-2. ...
- 安卓---实验5---ListView制作微信通讯录、朋友圈
文章目录 1. ListView实现通讯录 实现效果 xml代码 activity_tongxunlu item_pyq Java代码 MyBean MyAdapter MyActivityTongx ...
- 小程序组件-仿微信通讯录
效果图 因为是使用的手机录屏,视频格式为MP4,上传到文章时发现只支持图片,还好电脑自动录屏功能,所以简单的录制了一下,完后又提示只能4M,只能再去压缩图片,所以画质略渣,各位客官讲究的看看吧. 特色 ...
- 安卓 listView 组件的使用
xml <ListView android:id="@+id/list1"android:layout_width="wrap_content"andro ...
- 【Flutter 问题系列第 5 篇】Flutter 去除 ListView 组件中的蓝色回弹效果
这是[Flutter 问题系列第 5 篇],如果觉得有用的话,欢迎关注专栏. ListView 组件默认的滑动效果如下 可以看到,在顶部向下拖动或者到底部向上拖动时,会有一个蓝色的回弹效果. 这是因为 ...
- flutter 微信通讯录
Flutter 仿制微信通讯录效果,致效果如下: 有几个技术细节: 总体可滑动,少于屏幕长度也可滑动 对于数据的处理.昵称 拼音首字母排序, 右侧字母导航,点击/滑动:移动到指定位置 当点击/滑动 ...
- 微信通讯录java实现_原生JS实现微信通讯录
最近工作当中再一次遇到要实现一个车辆列表,要求能够像微信通讯录一样,实现右侧滑动,点击功能,并且滑动过程中,能够有提示.原来用jquery实现过一次,为了精简代码,现在用原生的实现一次.想必工作中大家 ...
- 原生JS实现微信通讯录
原生JS实现微信通讯录 最近工作当中再一次遇到要实现一个车辆列表,要求能够像微信通讯录一样,实现右侧滑动,点击功能,并且滑动过程中,能够有提示.原来用jquery实现过一次,为了精简代码,现在用原生的 ...
最新文章
- python项目之网络聊天室_Python实现多人聊天室
- Opengl-基本概念-对象(很关键啊兄弟这章)
- 软件测试管理工具禅道开源版下载安装
- 特斯拉中国向招商银行贷款50亿元 工厂本月开始生产
- ajax爬取微博,自动滚屏抓取新浪微博
- 学术论文的word排版
- Windows 串口驱动下载地址 和 Firefly-RK3399开发板 入手指南
- 编译原理-8-Bison 语法分析器的生成器
- 外贸型网站建设需要多少钱
- [Python人工智能] 九.gensim词向量Word2Vec安装及《庆余年》中文短文本相似度计算
- C# Winform窗体切换与关闭
- 微信公众号快速增粉攻略详解
- BigDecimal 金额转换
- C++11标准模板(STL)- 算法(std::nth_element)
- 粒径测量中的D10 D50 D90的含义
- 也发个过VS3.0的MapHack
- android手机小内存,世界最小Android手机问世 仅2.4英寸512MB内存
- vc获取计算机用户名,vc获取计算机名和ip地址的方法
- 吃鸡连点器哪款好用实惠?百收小编给你推荐吧
- 【个人成长】高效能人士的七个习惯