2020-6-20自定义View

自定义View瀑布流

public class FlowLayout extends ViewGroup {
    public FlowLayout(Context context) {
        super(context);
    }

    public FlowLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public FlowLayout(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);

    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        measureChildren(widthMeasureSpec,heightMeasureSpec);
    }
    private int space=20;
    @Override
    protected void onLayout(boolean changed, int l, int t, int r, int b) {
            int kuan=getWidth();
            int row=0;
            int dieth=20;
        for (int i = 0; i <getChildCount() ; i++) {
            View view=getChildAt(i);
            int Mkuan=view.getMeasuredWidth();
            int Mgao=view.getMeasuredHeight();
            if (dieth+Mkuan>kuan){
                row++;
                dieth=20;
            }
            view.layout(dieth,row*Mgao+space*row,Mkuan+dieth,Mgao*(row+1)+space*row);
            dieth+=Mkuan+space;
        }
    }
}

2

 @OnClick({R.id.tu, R.id.yanjing})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.tu:
                finish();
                break;
            case R.id.yanjing:
                String keyWord = editText.getText().toString();
                TextView button = new TextView(this);
                button.setText(keyWord);
                flowLayoutId.addView(button);
                button.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Toast.makeText(Main3Activity.this, keyWord, Toast.LENGTH_SHORT).show();
                    }
                });
                break;

3

    initView();
    }
    private void initView(){
        showWb.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
        WebSettings settings=showWb.getSettings();
        settings.setJavaScriptEnabled(true);

        showWb.loadUrl("");
    }

4

AlertDialog.Builder builder = new AlertDialog.Builder(this);

        builder.setTitle("自己写要写的");

        builder.setMessage("自己写要写的");

        builder.setPositiveButton("自己写要写的", new DialogInterface.OnClickListener() {
            @Override

            public void onClick(DialogInterface dialogInterface, int i) {
                System.out.println("自己写要写的");
                Intent intent=new Intent(Main5Activity.this,Main2Activity.class);
                startActivity(intent);

            }

        }).setNegativeButton("自己写要写的", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Intent intent1=new Intent(Main5Activity.this,Main2Activity.class);
                startActivity(intent1);
            }
        });

        builder.show();
    }
}
```。

```。

private Context context;
    private ManyBase.ResultBean resultBean;

    public TotalAdapter(Context context, ManyBase.ResultBean resultBean) {
        this.context = context;
        this.resultBean = resultBean;
    }

    private static final int RXXP = 1;
    private static final int MLSS = 2;
    private static final int PZSH = 3;

    @Override
    public int getItemViewType(int position) {
        if (position == 1) {
            return RXXP;
        } else if (position == 2) {
            return MLSS;
        } else {
            return PZSH;
        }
    }

    @NonNull
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        switch (viewType) {
            case RXXP:
                return new RxxpViewHolder(View.inflate(context, R.layout.rxxp, null));
            case MLSS:
                return new MlssViewHolder(View.inflate(context, R.layout.mlss, null));
            case PZSH:
                return new PzshViewHoplder(View.inflate(context, R.layout.pzsh, null));
        }
        return null;
    }

    @Override
    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
        //TODO 判断获取
        if (holder instanceof RxxpViewHolder){
            RxxpViewHolder rxxpViewHolder= (RxxpViewHolder) holder;
            rxxpViewHolder.DnameId.setText(resultBean.getRxxp().getName());
            //TODO 设置布局样式
            rxxpViewHolder.rxxpRecycId.setLayoutManager(new GridLayoutManager(context,2));
            //TODO 设置获取适配器
            rxxpViewHolder.rxxpRecycId.setAdapter(new RxxpAdapter(resultBean.getRxxp().getCommodityList(),context));
        }else if (holder instanceof MlssViewHolder){
            MlssViewHolder mlssViewHolder= (MlssViewHolder) holder;
            mlssViewHolder.DnameId.setText(resultBean.getMlss().getName());
            mlssViewHolder.mlssRecycId.setLayoutManager(new LinearLayoutManager(context,LinearLayoutManager.VERTICAL,false));
            mlssViewHolder.mlssRecycId.setAdapter(new MlssAdapter(resultBean.getMlss().getCommodityList(),context));
        }else if (holder instanceof PzshViewHoplder){
            PzshViewHoplder pzshViewHoplder= (PzshViewHoplder) holder;
            pzshViewHoplder.DnameId.setText(resultBean.getPzsh().getName());
            pzshViewHoplder.pzshRecycId.setLayoutManager(new LinearLayoutManager(context,LinearLayoutManager.HORIZONTAL,false));
            pzshViewHoplder.pzshRecycId.setAdapter(new PzshAdapter(resultBean.getPzsh().getCommodityList(),context));
        }
    }

    @Override
    public int getItemCount() {
        return 3;
    }

    class RxxpViewHolder extends RecyclerView.ViewHolder {
        @BindView(R.id.Dname_id)
        TextView DnameId;
        @BindView(R.id.rxxp_recyc_id)
        RecyclerView rxxpRecycId;

        public RxxpViewHolder(@NonNull View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);
        }
    }

    class MlssViewHolder extends RecyclerView.ViewHolder {
        @BindView(R.id.Dname_id)
        TextView DnameId;
        @BindView(R.id.mlss_recyc_id)
        RecyclerView mlssRecycId;

        public MlssViewHolder(@NonNull View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);
        }
    }

    class PzshViewHoplder extends RecyclerView.ViewHolder {
        @BindView(R.id.Dname_id)
        TextView DnameId;
        @BindView(R.id.pzsh_recyc_id)
        RecyclerView pzshRecycId;
        public PzshViewHoplder(@NonNull View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);
        }
    }```

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值