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

本文简单模仿微信朋友圈的点赞和评论弹出框,布局等细节请忽略,着重实现弹出框、发评论,及弹出位置的控制。

1. 微信弹出框

微信朋友圈的点赞和评论功能,有2个组成部分:

点击左下角的“更多”按钮,弹出对话框;

点击评论,弹出输入框,添加评论并在页面中实时显示;

39eec2828d7153c4a49403b0702b20a9.png

微信朋友圈点赞和评论功能

2. 实际效果

本文将建一个 ListView,在其 Item 中简单模仿微信的布局,然后着重实现弹出窗,并能发评论,忽略具体布局细节。具体效果如下:

9fff850e03b1c4c80365d8f2ec8d3ab9.gif

3. 知识点清单

ListView

自定义 Adapter,重写 getView()方法;

PopupWindow

弹出框使用PopupWindow实现,这是点赞和评论的载体,具体要涉及 PopupWindow 点击非窗口位置和再次点击消失以及显示位置的问题(根据相应更多按钮的位置确定 PopupWindow 的显示位置,关于 PopupWindow 的显示位置,可以参考我的另一篇文章 Android PopupWindow 的显示位置);

LayoutInflater

使用LayoutInflater 动态加载PopupWindow 的布局,关于 LayoutInflater 的更多知识,参见我的另一篇博客 Android LayoutInflater ;

Activity 和 Item 的双向通信

通过自定义 OnCommentListener() 来实现 MainActivity(具体来说是屏幕底部评论框中的输入的内容)和 ItemView(动态的获得上述输入的评论内容并展示在该ItemView 中) 的通信,更多知识参见我的另一篇博客《 燕过留声:由 Activity 和 Fragment 的通信方法想到的》;

自定义控件

ListView 中的每个 Item 是一个自定义的 ItemView,记得要重写构造方法,否则会抛出 Android.view.InflateException 异常;

如果想实现微信评论那样用户名和内容回复文字字体颜色不同,而且点击评论用户名触发页面跳转等功能,请参见 《布局优化技巧笔记》 之 ClickableSpan 章节;

4. 美工素材

由于 .apk 本质上是个压缩包,我们可以通过解压得到该 .apk 文件的图片素材和布局文件,更多获得素材的方法参见我的另一篇博文 如何获得Android素材图片。通过这种方式得到颜色、更多按钮的样式等素材,仅供学习之用,请勿做侵犯版权之事。尊重知识版权既是大势所趋,也是终将使每个开发者受益的事。

9812a5a902df1d50566bb6f81acf4b16.png

文件夹r里存放图片

243c0ec0263737856946e33207a818aa.png

找到更多按钮

5. 关键代码

开发环境:Android Studio 1.4.1 for Mac + ADT 21 + JDK 1.8.0。

MainAcitivity.Java

package main.zhaizu.com.popupwindowdemo;

import android.content.Context;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.text.TextUtils;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android中实现仿微信朋友圈底部的拍照和拍摄功能,可以通过使用系统自带的相机应用或者自定义相机来进行实现。 首先,可以使用系统自带的相机应用来实现拍照和拍摄的功能。可以通过调用Intent,使用ACTION_IMAGE_CAPTURE和ACTION_VIDEO_CAPTURE来启动相机应用,并通过设置Uri来指定图片或视频的保存路径。在拍摄完成后,可以在onActivityResult()方法中获取拍摄结果进行处理,比如保存图片或视频的Uri,显示预览等。 其次,也可以自定义相机来实现拍照和拍摄的功能。可以通过使用Camera和Camera2 API来实现相机的预览和拍摄功能。首先,需要使用Camera或Camera2 API来启动相机预览,并通过设置SurfaceHolder或SurfaceTexture来显示预览画面。同时,可以监听相机的拍照或拍摄按钮点击事件,在点击时进行拍照或拍摄操作,并通过设置相机的PictureCallback或CaptureCallback来处理拍摄结果。 无论是使用系统相机应用还是自定义相机,还可以添加一些额外的功能来实现更好的用户体验。比如,可以添加美颜滤镜、闪光灯控制、切换前后摄像头等功能。 总而言之,在Android中实现仿微信朋友圈底部的拍照和拍摄功能可以通过使用系统自带相机应用或自定义相机来实现,为用户提供类似微信朋友圈的相机功能,并可以根据需求添加额外的功能来增强用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值