Android编程实现QQ表情的发送和接收完整实例(附源码下载)

2019-12-10 19:53:57王旭
  • rl_tv_msg_left.addRule(RelativeLayout.LEFT_OF,0);   text.setBackgroundResource(R.drawable.balloon_l_selector);  
  • }else{   rl_chat_left.addRule(RelativeLayout.ALIGN_PARENT_LEFT,0);  
  • rl_chat_left.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,-1);   rl_iv_headicon_left.addRule(RelativeLayout.ALIGN_PARENT_LEFT,0);  
  • rl_iv_headicon_left.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,-1);   rl_tv_msg_left.addRule(RelativeLayout.RIGHT_OF,0);  
  • rl_tv_msg_left.addRule(RelativeLayout.LEFT_OF,R.id.team_singlechat_id_listiteam_headicon);   text.setBackgroundResource(R.drawable.balloon_r_selector);  
  • }   image.setImageResource(PrortaitUtils.conversionIdToRes(msg.getProtrait())); //设置头像  
  • String str = msg.getMsg(); //消息具体内容   String zhengze = "f0[0-9]{2}|f10[0-7]"; //正则表达式,用来判断消息内是否有表情  
  • try {   SpannableString spannableString = ExpressionUtil.getExpressionString(context, str, zhengze);  
  • text.setText(spannableString);   } catch (NumberFormatException e) {  
  • e.printStackTrace();   } catch (SecurityException e) {  
  • e.printStackTrace();   } catch (IllegalArgumentException e) {  
  • e.printStackTrace();   }  
  • }   } 

    关于表情弹出框的实现如下:

    MainActivity:

     

     
    1. /**   * 创建一个表情选择对话框