实现对一个主题评论并显示评论列表,首先想到的是需要使用ListView控件,
下面是layout下的xml布局文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/list_selector"android:orientation="horizontal"android:padding="5dip" ><LinearLayoutandroid:id="@+id/thumbnail"android:layout_width="120dip"android:layout_height="120dip"android:layout_alignParentLeft="true"android:layout_marginRight="5dip"android:background="@drawable/image_bg"android:padding="1dip" ><ImageViewandroid:id="@+id/group_image"android:layout_width="match_parent"android:layout_height="match_parent"android:scaleType="centerInside"android:src="@drawable/copyright" /></LinearLayout><TextViewandroid:id="@+id/group_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignTop="@+id/thumbnail"android:layout_toRightOf="@+id/thumbnail"android:text="测试朋友圈评论功能"android:textColor="#040404"android:textSize="15sp"android:textStyle="bold"android:typeface="sans" /><TextViewandroid:id="@+id/group_content"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_below="@+id/thumbnail"android:text="狗狗见到蟒,冲过去照头上就舔"android:textAppearance="?android:attr/textAppearanceLarge"android:textColor="#343434"android:textSize="12sp" /><ImageViewandroid:id="@+id/group_discuss_popup"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignRight="@+id/group_content"android:layout_below="@+id/group_content"android:background="@drawable/coment_pressed" /><TextViewandroid:id="@+id/group_createtime"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignBottom="@+id/TextView09"android:layout_toLeftOf="@+id/group_discuss_popup"android:gravity="right"android:text="2014-08-24 15:45"android:textColor="#10bcc9"android:textSize="12sp"android:textStyle="bold" /><RelativeLayoutandroid:id="@+id/rl_bottom"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_alignParentBottom="true" ><Buttonandroid:id="@+id/group_discuss_submit"android:layout_width="60dp"android:layout_height="40dp"android:layout_alignParentRight="true"android:layout_centerVertical="true"android:layout_marginRight="10dp"android:background="@drawable/chat_send_button_bg"android:onClick="discussSubmit"android:text="发送"android:textSize="20sp" /><EditTextandroid:id="@+id/group_discuss"android:layout_width="fill_parent"android:layout_height="40dp"android:layout_centerVertical="true"android:layout_marginLeft="10dp"android:layout_marginRight="10dp"android:layout_toLeftOf="@id/group_discuss_submit"android:hint="评论"android:singleLine="true"android:textSize="18sp" ><requestFocus /></EditText></RelativeLayout><ListViewandroid:id="@+id/group_discuss_list"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_below="@+id/group_discuss_popup"android:layout_marginTop="14dp"android:divider="#b5b5b5"android:dividerHeight="1dp"android:listSelector="@drawable/list_selector" /><TextViewandroid:id="@+id/TextView09"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignBottom="@+id/thumbnail"android:layout_marginBottom="40dp"android:layout_toRightOf="@+id/thumbnail"android:text="时间:"android:textColor="#040404"android:textSize="12sp"android:textStyle="bold"android:typeface="sans" /></RelativeLayout>

然后在Activity类的onCreate方法里,获取ListView的实例,并对每一个item增加监听器

        //为防止layout界面上的EditText在进入页面时就弹出输入法,隐藏软键盘getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);listView = (ListView)findViewById(R.id.group_discuss_list);this.discussOnItemClickListener();

每一个item增加监听器的方法discussOnItemClickListener()

    /*** 评论列表被单击后的事件监听*/private void discussOnItemClickListener() {//为评论的每一行添加单击事件listView.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {    //获得父贴的发帖人Map<String, String> posMap = discussList.get(position);                //设置pusernamepname = posMap.get("username");//取得填写评论editText的实例EditText disInputText = (EditText)findViewById(R.id.group_discuss);disInputText.setHint("回复" + pname);disInputText.requestFocus();                }            });                        }

接下来重点说说单击评论图标之后的弹出框,同样在Activity类的onCreate方法中,给评论图标增加onclick监听器,然后增加两个弹出项赞,评论,并且给这两个item增加监听,代码如下:

        groupPopup = (ImageView) findViewById(R.id.group_discuss_popup);groupPopup.setOnClickListener(titlePopupOnclick);titlePopup = new TitlePopup(this, Utils.dip2px(this, 165), Utils.dip2px(this, 40));titlePopup.addAction(new ActionItem(this, "赞", R.drawable.circle_praise));titlePopup.addAction(new ActionItem(this, "评论",R.drawable.circle_comment));titlePopup.setItemOnClickListener(this);

监听的方法实现

    /*** 单击评论按钮,弹出菜单的item click 监听*/@Overridepublic void onItemClick(ActionItem actionItem,int position) {//position,0-赞;1-评论switch(position){case 0://赞break;case 1://评论EditText disInputText = (EditText)findViewById(R.id.group_discuss);disInputText.requestFocus();break;default:break;}}

很简单,就是当单击item里的评论时,请求EditText输入框的焦点,调出输入法.

最后我们来说说添加评论功能,demo只是模拟添加了一些评论,真实环境下显然首先需要向服务端提交数据,然后从服务端请求评论列表.demo中只是在Activity类里维护一个全局List简单代替.然后使用一个BaseAdapter的实现类,实现其getView方法来显示出来.

        Map<String, String> map = new HashMap<String, String>();//给map设置要显示的值map.put("distime", DateUtils.formaterDate2YMDHm(new Date(System.currentTimeMillis())));map.put("content", content);//设置父贴的发帖人信息map.put("puid", puid + "");map.put("pname", pname);//设置自己的信息map.put("uid", uid + "");map.put("username", username);discussList.add(map);ListLazyAdapter adapter = new ListLazyAdapter(this, discussList);        listView.setAdapter(adapter);             //设置adapter

基本上就以上三部分主要功能,可以实现一个简单的单击显示弹出框之后的评论功能.

效果图如下:

本文示例源代码下载地址:
http://download.csdn.net/detail/gaolu/7963061

类似微信5.x朋友圈的弹出框评论功能相关推荐

  1. 类似微信5.x朋友圈的弹出框点赞功能PopupWindow

    实现对一个主题评论并显示评论列表,首先想到的是需要使用ListView控件, 下面是layout下的xml布局文件: view sourceprint? 001.<?xml version=&q ...

  2. 类似智联招聘选择职位的弹出框效果,可做选择城市等信息

    在这里贴出主要代码,可在我的资源中下载 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...

  3. 微信小程序仿朋友圈,实现点赞和评论功能

    本文 主要讲 大概的实现,思路.有不同想法的可以私信我. 首先的话是准备工作 布局 自己模拟的后台传送数据 commandArraylist:[{userUrl:'/assets/logo/jiatu ...

  4. nodeJS IOS手机和平板端在微信中下载文件时,弹出框中文件名乱码解决方案(Content-disposition:attachment; filename)

    今天做项目的时候遇见一个问题.下载文件时在谷歌,Edge和火狐中文件名是正确显示的.但是在IOS端(这里我只是测试了平板和手机,苹果电脑的safari没有测试)微信弹窗中会出现%E4%BA%BF%E6 ...

  5. 【Chapter1】微信自带弹出框

    文章目录 一.简介 二.弹出框 1.提示框 1.1 显示提示框 1.2 加载提示框 2.是否选择框 3.多项选择框 三.嵌套 四.遇到的问题 最近用了一周写了一个仿知乎的小程序,将会陆续整理,包括前端 ...

  6. 微信小程序页面跳转、弹出框

    一.页面跳转 页面跳转是微信小程序中使用较为频繁并且很重要的功能之一,页面跳转一般是通过点击按钮或者文本区域后需要进行的操作. 页面跳转中需要注意的点很多,我在这就介绍一些我在写项目过程中所遇到的一些 ...

  7. jQuery+Bootstrap美化弹出框

    项目中很多弹出的警告框是通过alert()弹出的浏览器警告框,样式比较丑陋且和页面使用的Bootstrap框架样式不吻合,因此需要修改弹出框样式. 采用jQuery+Bootstrap的方式这样弹出的 ...

  8. mootools系列:打造属于你自己的Popup(弹出框)——扩展功能篇

    为弹出框(Popup)添加"关闭(×)"按钮 如弹出框结构代码所示,关闭按钮标示"×"是放置在一div中的.使其具有关闭整个弹出框的功能,只要在创建该div时, ...

  9. Android自定义弹窗模仿微信,Android 仿微信朋友圈点赞和评论弹出框功能

    本文简单模仿微信朋友圈的点赞和评论弹出框,布局等细节请忽略,着重实现弹出框.发评论,及弹出位置的控制. 1. 微信弹出框 微信朋友圈的点赞和评论功能,有2个组成部分: 点击左下角的"更多&q ...

最新文章

  1. 小米今日正式进军越南市场 借助合作方铺渠道分销
  2. 201521123113 《Java程序设计》第5周学习总结
  3. 有关缅甸语学习的一些网站
  4. Part 3: Services
  5. JS获取移动端系统信息(操作系统、操作系统版本、横竖屏状态、设备类型、网络状态、生成浏览器指纹)...
  6. Java性能分析点滴
  7. phpstorm 2017.1 激活
  8. Linux内存管理:内存描述之内存页面page
  9. kubernetes Istio是什么
  10. java学习--基础知识阶段性总结--多线程
  11. 获取计算机登录用户名和密码,查看电脑的登录用户名_查看电脑用户名和密码...
  12. egret 显示帧动画
  13. Javascript小程序 向浏览者问好(转)
  14. MT6577/MT6589处理器参数对比分析
  15. mac怎么搭建网站服务器,mac搭建本地服务器(示例代码)
  16. go学习 --- go协程
  17. IE-LAB网络实验室:华为AAA认证详解
  18. 今日头条信息流 - 开户技巧
  19. 指法练习软件ECAI使用指南
  20. 基于pytorch+python实现一个中文到英文的神经网络的翻译模型

热门文章

  1. 天耀18期 – 03.Java基本语法【作业】.
  2. c语言链表删除重复点,【图片】想问一道链表题,如何删除重复元素【c语言吧】_百度贴吧...
  3. Apache Pulsar 首场亚洲峰会议题出炉:聚焦实战案例,火热报名中
  4. SPI Flash芯片W25Q32英文版数据手册解读(一)---------引脚功能,工作模式
  5. MySQL如何统计表格的总行数
  6. 动漫制作都用html5吗,怎么制作h5动画?
  7. 前端开发之字体大小px,em,rem,pt
  8. 2021年Android工作或许更难找,面试资料分享
  9. MogaFX—ServiceNow的Bill McDermott正在关注货币汇率
  10. 买房贷款,“房贷20年”和“房贷30年”,哪个更划算?为什么?