**
*
* @描述 聊天界面适配器
* @项目名称 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 聊天界面适配器
最新推荐文章于 2021-05-27 03:09:09 发布