public void jumpUnread(boolean cycle) {
List<ContactLogModel> dataList = adapter.getContactLogModelList();
int dataSize = dataList.size(); int position = 0;
if (cycle) {
position = 0;
} else {
position = ListView().getFirstVisiblePosition();
}
ConfigInfo.logDebug(TAG, "1 .......... get view first item pos:" + position); for (int i = position; i < dataSize; i++) {
position++;
ConfigInfo.logDebug(TAG, "2 ..........mode detail" + dataList.get(i).getUname() + ".....i" + i);
if (dataList.get(i).getUnread() > 0) { // 未读处理
ListView.setSelection(position);
ConfigInfo.logDebug(TAG, "4 .............position" + position);
return;
}
} if (position > 0) {
jumpUnread(true);
}
}
public void jumpUnread() {

    List<ContactLogModel> dataList = adapter.getContactLogModelList();
int position = mPtrFrameLayout.getListView().getFirstVisiblePosition();
ConfigInfo.logDebug(TAG, "1 .......... get view first item pos:" + position);
for (int i = position; i < adapter.getCount(); i++) {
ConfigInfo.logDebug(TAG, "2 ..........mode detail" + dataList.get(i).getUname() + ".....i" + i);
if (dataList.get(i).getUnread() > 0) { // 未读处理
if(isListViewReachBottomEdge(mPtrFrameLayout.getListView())){
reJumpUnread();
}else{
mPtrFrameLayout.getListView().setSelection(i + 1);
}
ConfigInfo.logDebug(TAG, "4 .............position" + position);
return;
}
}
reJumpUnread();
} public void reJumpUnread() {
for (int i = 0; i < adapter.getCount(); i++) {
if (adapter.getItem(i).getUnread() > 0) { // 未读处理
mPtrFrameLayout.getListView().setSelection(i + 1);
return;
}
}
} public boolean isListViewReachBottomEdge(final AbsListView listView) {
boolean result = false;
if (listView.getLastVisiblePosition() == (listView.getCount() - 1)) {
final View bottomChildView = listView.getChildAt(listView.getLastVisiblePosition() - listView.getFirstVisiblePosition());
result = (listView.getHeight() >= bottomChildView.getBottom());
ConfigInfo.logDebug(TAG,"..............."+result);
};
return result;
}
												

android 实现类似qq未读消息点击循环显示的更多相关文章

  1. wing带你玩转自定义view系列(2) 简单模仿qq未读消息去除效果

    上一篇介绍了贝塞尔曲线的简单应用 仿360内存清理效果 这一篇带来一个  两条贝塞尔曲线的应用 : 仿qq未读消息去除效果. 转载请注明出处:http://blog.csdn.net/wingicho ...

  2. python做的 QQ未读消息图像

    #!/usr/bin/pythonfrom PIL import Image ,ImageDraw, ImageFont#打开所在的文件im=Image.open('test.jpg')#获取图片对象 ...

  3. 【Python学习笔记】-APP图标显示未读消息数目

    以小米手机系统为例,当安装的某个APP有未读消息时,就会在该APP图标的右上角显示未读消息的数目.本文主要解说怎样用Python语言实现图标显示未读消息的数目.首先,还是要用到Python中PIL库, ...

  4. Android 高仿QQ滑动弹出菜单标记已读、未读消息

    在上一篇博客<Android 高仿微信(QQ)滑动弹出编辑.删除菜单效果,增加下拉刷新功能>里,已经带着大家学习如何使用SwipeMenuListView这一开源库实现滑动列表弹出菜单,接 ...

  5. Android系统 小米/三星/索尼 应用启动图标未读消息数(BadgeNumber)动态提醒

    http://www.51itong.net/android-badgenumber-9789.html Android系统 小米/三星/索尼 应用启动图标未读消息数(BadgeNumber)动态提醒 ...

  6. Android BGABadgeView:新消息/未接来电/未读消息/新通知圆球红点提示(1)

     Android BGABadgeView:新消息/未接来电/未读消息/新通知圆球红点提示(1) 现在很多的APP会有新消息/未接来电/未读消息/新通知圆球红点提示,典型的以微信.QQ新消息提示为 ...

  7. iOS 未读消息角标 仿QQ拖拽 简单灵活 支持xib(源码)

    一.效果 二.简单用法 超级简单,2行代码集成:xib可0代码集成,只需拖一个view关联LFBadge类即可 //一般view上加角标 _badge1 = [[LFBadge alloc] init ...

  8. 桌面图标未读消息(小米,sony,三星手机)

    新消息来了,在桌面的Laucher图标上显示新消息数 /** * 应用桌面图标未读消息显示工具类 * 只支持 小米,三星和索尼 */ public class BadgeUtil { final st ...

  9. 未读消息(小红点),前端与 RabbitMQ实时消息推送实践,贼简单~

    前几天粉丝群里有个小伙伴问过:web 页面的未读消息(小红点)怎么实现比较简单,刚好本周手头有类似的开发任务,索性就整理出来供小伙伴们参考,没准哪天就能用得上呢. 之前在 <springboot ...

随机推荐

  1. docker-compose编写(英文)

    原文地址:https://docker.github.io/compose/compose-file/ Compose file reference The Compose file is a YAM ...

  2. 【QUESTION】

    1. HTTP和HTTPS的区别? 2. Soap协议的理解? 3. 一个成功项目,从代码层分析存在可能的问题? 4. mysql 容载技术有哪些? 5. mysql的性能优化有哪些心得? ----- ...

  3. matlab画带标记的折线图

    1.不带标记的 如: x=[1,5,3,7,4] plot(x) 2. 带标记 plot(x,'-*') '-s'  表示方格 '-p' 表示五角星 '-d' 表示菱形 '-h' 表示六角形 '-+' ...

  4. uexWeiXin插件

    uexWeiXin插件 接入指引 常用功能 接入指引 Android 准备一个应包名:平台默认包名:org.zywx.wbpalmstar.widgetone.uex加上应用id AppCan平台默认 ...

  5. 安卓版App开发心得

    从2016年4月到6月主要做的工作是网站的开发,而6月到现在2016年8月初,主要做的工作是Android和IOS两种App的开发,又以Android为主. 将这段时间的Android开发心得记录如下 ...

  6. npm 安装本地包

    npm install ../xxx 就行 如果报错,比如 1`Refusing to install  as a dependency of itself 说明你的本地模块没npm init ,也就 ...

  7. 【转】mysql对large page的支持

    昨天同事问我关于大页内存的事,我也只是有个模糊的概念,从别的博客转过来的,先记录下 在 Linux 操作系统上运行内存需求量较大的应用程序时,由于其采用的默认页面大小为 4KB,因而将会产生较多 TL ...

  8. Newtonsoft.Json

    在线生成实体:http://tool.chinaz.com/tools/json2entity.aspx RootObject ac = new RootObject(); ac = JsonConv ...

  9. MySQL Group Replication 技术点

    mysql group replication,组复制,提供了多写(multi-master update)的特性,增强了原有的mysql的高可用架构.mysql group replication基 ...

  10. ajax 跨域请求

    1. $.ajax({ type: "get", async: false, url: "http://61.160.194.208:8383/Api/login?acc ...