写了一个自定义view,实现表情、文字、语音输入,可以直接拿来用

本文介绍了一个自定义Android View,它支持表情、文字和语音输入功能,可直接应用于聊天应用中。使用步骤包括放置资源、布局到界面及实现SendMessageListener接口。接口包含两个方法,分别处理录音发送和文字/表情发送。该组件已实现了输入切换、录音效果等功能,只需关注数据处理。源码可在提供的CSDN下载链接获取。
摘要由CSDN通过智能技术生成

写了一个自定义view,实现表情、文字、语音输入,可以直接拿来用。使用很简单。

第一步:把图片资源、布局文件、自定义view类放到该放的位置。资源说明里面有写。

第二步:把该自定义view布局到想放到的界面,并在activity中的到该view,传递两个参数,一个是录制的语音要放的文件夹,一个是SendMessageListener对象。该对象是一个接口,需要自己实现。

第三步:实现SendMessageListener接口里面的两个方法:getAndSendVoice(String path, int time),录音完且成功的话,会执行接口的这个方法,path是录音文件的路径,time是录音时长,单位是秒。getAndSendMessage(String str)方法,输入表情和文字并发送后会执行这个方法。表情已经转化为了字符串,显示的时候解析一下就行了,解析类也已经在里面。

图片红色的部分就该view实现的部分,不同输入的切换、输入提醒、录音效果等都已经在view里面实现。不需要在操心内部怎么实现的,只用通过实现接口两个方法操作获得的语音或字符数据就行了。

下载地址:http://download.csdn.net/detail/lixinliqian/7436561

 

下载地址:

http://download.csdn.net/detail/lixinliqian/7436561

 

这是一个已经集成了聊天发送文字表情语音功能的输入模块 无需再任何代码 自己的 5分绝对值 使用方法: 第一步:文件怎么放 把三个文件夹里的东西分别放在制定的地方就行 第二步:布局到我的activity中 把它当成一个普通的view就好 放在你想放的位置 以下是我在自己项目里放的位置 放在布局的最低端 <com example defined SendMassageRelativeLayout android:id "@+id rl bottom" android:layout width "fill parent" android:layout height "wrap content" android:layout alignParentBottom "true" android:background "#aaa" > 第三步:怎么用该控件实现发送文字表情语音 首先 在activity中获得该SendMassageRelativeLayout 并设置两个参数 第一个语音的录音要放的文件夹路径(文件夹要在activity中建好) 通过SendMassageRelativeLayout对象 SetRootPath String path 设置 第二个是对象SendMessageListener对象 这个对象是一个自定义的接口 要在activity中实现 通过SendMassageRelativeLayout对象 SetSendMessageListener this ;设置 其中this是因为该activity实现了接口 也可以自定义一个类来实现接口 然后在SendMessageListener接口的两个函数中实现语音与 普通文字表情的发送代码就行了 public void getAndSendMessage String str 是发送文字表情的 点击发送时会调用这个方法 表情已经转变为字符串 str就是要发送的内容 至于要发到哪怎么发自己编 显示的时候还要解析一下 分离出表情 下面说解析过程 文件中提供的一个类ExpressionUtil java就是解析的工具类 只需要在设置显示的TextView内容时用以下代码就行 String message; 消息具体内容 String zhengze "f0[0 9]{2}|f10[0 7]"; 正则表达式 用 try { SpannableString spannableString ExpressionUtil getExpressionString context message zhengze ; myTextView setText spannableString ; } catch NumberFormatException e { e printStackTrace ; } catch SecurityException e { e printStackTrace ; } catch IllegalArgumentException e { e printStackTrace ; } 语音的发送 语音发送的时候会执行实现接口中的public void getAndSendVoice String path int time 方法path是录制的语音在本地的绝对路径 time是语音的时长 秒为单位 至于接下来是要通过网络发送出去还是播放 自己实现ok了 总之很简单方便 表情输入 文字输入 录音 以及这些功能的切换都已经在内部实现 不需要任何代码 ">这是一个已经集成了聊天发送文字表情语音功能的输入模块 无需再任何代码 自己的 5分绝对值 使用方法: 第一步:文件怎么放 把三个文件夹里的东西分别放在制定的地方就行 第二步:布局到我的activity中 [更多]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值