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-03-08 11:13:21 发布