在显示聊天页面的list的适配器中,我们需要做如下的显示,即调用上面工具类的方法:
SimpleChatAdapter中的内部类ViewHolder:
- private class ViewHolder{ RelativeLayout chat_layout;
- ImageView image; TextView text;
- public ViewHolder(View convertView){ chat_layout=(RelativeLayout) convertView.findViewById(R.id.team_singlechat_id_listiteam);
- image=(ImageView) convertView.findViewById(R.id.team_singlechat_id_listiteam_headicon); text=(TextView) convertView.findViewById(R.id.team_singlechat_id_listiteam_message);
- } public void setData(MessageInfo msg){
- RelativeLayout.LayoutParams rl_chat_left=((RelativeLayout.LayoutParams)chat_layout.getLayoutParams()); RelativeLayout.LayoutParams rl_tv_msg_left=((RelativeLayout.LayoutParams)text.getLayoutParams());
- RelativeLayout.LayoutParams rl_iv_headicon_left=((RelativeLayout.LayoutParams)image.getLayoutParams()); if(!DicqConstant.DEFAULTMAC.equalsIgnoreCase(msg.getUsermac())){ //根据本地的mac地址来判断该条信息是属于本人所说还是对方所说
- //如果是自己说的,则显示在右边;如果是对方所说,则显示在左边 rl_chat_left.addRule(RelativeLayout.ALIGN_PARENT_LEFT,-1);
- rl_chat_left.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,0); rl_iv_headicon_left.addRule(RelativeLayout.ALIGN_PARENT_LEFT,-1);
- rl_iv_headicon_left.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,0); rl_tv_msg_left.addRule(RelativeLayout.RIGHT_OF,R.id.team_singlechat_id_listiteam_headicon);










