android聊天列表实现


关于聊天内容,见得多了,就是一个列表,里面存着不同的人的聊天记录,自己的内容在一边,其它人的内容在另一边。列表没有看到分隔线,背景是白的或其它的,没有列表按下的效果。

现在一个一个解决:
列表背景android:background="" android:cacheColorHint=""
这两个颜色设置成一样的,就可以了。
如果选中的颜色也不要,可以自定义一个selector,设置成固定 的颜色 android:listSelector="#00000000" 这样。

android:dividerHeight="0.0dip" 设置分隔线的高度为0,但是还可以看到一个分隔线。
还需要一个设置android:divider="@null"就可以完全移除分隔线了。

内容显示在左与右,最蠢的办法就是:
if (orientation==1) {
((LayoutInflater) mContext.getSystemService("layout_inflater")).inflate(R.layout.chat_left_item, this);

chat_txt_time=(TextView) findViewById(R.id.chat_txt_time);
chat_txt_msg=(TextView) findViewById(R.id.chat_txt_msg);
//content=(LinearLayout) findViewById(R.id.content);
nickname=(TextView) findViewById(R.id.chat_name);
} else {
((LayoutInflater) mContext.getSystemService("layout_inflater")).inflate(R.layout.chat_right_item, this);

chat_txt_time=(TextView) findViewById(R.id.chat_txt_time);
chat_txt_msg=(TextView) findViewById(R.id.chat_txt_msg);
//content=(LinearLayout) findViewById(R.id.content);
nickname=(TextView) findViewById(R.id.chat_name);
}
弄两个布局了,就可以解决了,但性能不高。

可以动态的处理View元素的位置,比如一个ImageView作头像,一个TextView作文本,使用relativelayout,使用java动态的处理它们间的关系,也是可以的。relativelayout addRule可以添加规则,动态的添加子元素,这样至少不必每次都新建一个Layout,可以重复使用原来的。
而上面的加载不同的布局,是不可以重用的,每次需要重新加载新的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值