实现自定义View搜索历史记录

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);

        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值