您的位置:首页 > 移动开发 > Android开发

Android 聊天界面适配器

2016-06-17 22:26 501 查看
**
*
* @描述         聊天界面适配器
* @项目名称      App_imooc
* @包名         com.android.imooc.chat
* @类名         RecorderAdapter
* @author      chenlin
* @date        2013年6月17日 下午10:03:26
*/
public class RecorderAdapter extends ArrayAdapter<Recorder> {

private LayoutInflater mInflater;
private int mMinItemWith;// 设置对话框的最大宽度和最小宽度
private int mMaxItemWith;

public RecorderAdapter(Context context, List<Recorder> datas) {
super(context, -1, datas);
mInflater = LayoutInflater.from(context);

//      // 获取系统宽度
//      WindowManager wManager = (WindowManager) context
//              .getSystemService(Context.WINDOW_SERVICE);
//      DisplayMetrics outMetrics = new DisplayMetrics();
//      wManager.getDefaultDisplay().getMetrics(outMetrics);
mMaxItemWith = (int) (ScreenUtils.getScreenWidth(context) * 0.7f);
mMinItemWith = (int) (ScreenUtils.getScreenHeight(context) * 0.15f);
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder = null;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.item_chat_layout, parent, false);
viewHolder=new ViewHolder();
viewHolder.seconds=(TextView) convertView.findViewById(R.id.recorder_time);
viewHolder.length=convertView.findViewById(R.id.recorder_length);
convertView.setTag(viewHolder);
}else {
viewHolder=(ViewHolder) convertView.getTag();
}
Recorder recorder = getItem(position);
viewHolder.seconds.setText(Math.round(recorder.time)+"\"");
ViewGroup.LayoutParams params=viewHolder.length.getLayoutParams();
params.width = (int) (mMinItemWith + mMaxItemWith /60f*recorder.time);
viewHolder.length.setLayoutParams(params);

return convertView;
}

class ViewHolder {
TextView seconds;// 时间
View length;// 对话框长度
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 界面 聊天