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

Android时间轴简单优化

2016-03-16 14:52 489 查看
今天读了一篇关于android时间轴的文章,原文地址如下:android实现时间轴,现在做一个简单的改动,将竖线的左边距和右边文字布局的高度改成动态设置,代码如下:

改动getView()方法:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView==null){
holder = new ViewHolder();
convertView = LayoutInflater.from(context).inflate(R.layout.time_line_item,null,false);
convertView.setTag(holder);
}else {
holder = (ViewHolder) convertView.getTag();
}
holder.rightTexView = (TextView) convertView.findViewById(R.id.right_text);
holder.leftImage = (ImageView) convertView.findViewById(R.id.left_image);
TimeLine timeLine = timeLineList.get(position);
if (timeLine!=null){
holder.rightTexView.setText(timeLine.getText());
holder.leftImage.setImageResource(timeLine.getImageView());
//动态设置line的左边距
View lineTop = convertView.findViewById(R.id.line_top);
View bottom = convertView.findViewById(R.id.line_bottom);
LinearLayout.LayoutParams layoutParams =  (LinearLayout.LayoutParams) lineTop.getLayoutParams();
layoutParams.leftMargin = (holder.leftImage.getWidth())/2;
lineTop.setLayoutParams(layoutParams);
bottom.setLayoutParams(layoutParams);
//动态设置布局高度
LinearLayout linearLayout = (LinearLayout) convertView.findViewById(R.id.right_line);
int height = lineTop.getHeight()+bottom.getHeight()+ holder.leftImage.getHeight();
ViewGroup.LayoutParams lp =  linearLayout.getLayoutParams();
lp.height = height;
linearLayout.setLayoutParams(lp);**
}
return convertView;
}


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