package com.chen.test.customview;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.chen.test.R;
import java.util.ArrayList;
import java.util.List;
/**
* @Author:Chen
* @E-mail: 1850915912@qq.com
* @Date:2019/3/15 11:29
* @Description:描述信息
*/
public class LiuCustomView extends RelativeLayout {
Context context;
private LinearLayout lin_v;
private LinearLayout view_h;
private View view;
public LiuCustomView(Context context) {
super(context);
init(context);
}
public LiuCustomView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
//第一步加载垂直布局
private void init(Context context) {
this.context = context;
//加载垂直布局
view = View.inflate(context,R.layout.layout_v,null);
//获取垂直布局的id
lin_v = view.findViewById(R.id.lay_v);
//创建水平布局
addView(view);
}
private List<String> mlist = new ArrayList<>();
public void setMlist(List<String> list){
mlist = list;
lin_v.removeAllViews();
int len = 0;
view_h = (LinearLayout) View.inflate(context,R.layout.layout_h,null);
//把横向布局添加到垂直布局中
lin_v.addView(view_h);
for (int i=0;i<list.size();i++){
String data = list.get(i);
len += data.length();
if(len>40){
view_h = (LinearLayout) View.inflate(context,R.layout.layout_h,null);
//把横向布局添加到垂直布局中
lin_v.addView(view_h);
len = 0;
}
//加载文字布局
View view_tv = View.inflate(context,R.layout.layout_text,null);
//获取文本框
TextView tv = view_tv.findViewById(R.id.liu_tv);
tv.setText(list.get(i));
//将文本框添加到横向布局
view_h.addView(view_tv);
LinearLayout.LayoutParams params= (LinearLayout.LayoutParams) view_tv.getLayoutParams();
params.weight = 1;
params.rightMargin = 10;
params.topMargin = 10;
params.leftMargin = 10;
view_tv.setLayoutParams(params);
}
}
}
实现自定义View搜索历史记录
最新推荐文章于 2021-12-30 12:06:56 发布

3364

被折叠的 条评论
为什么被折叠?



