简体   繁体   English

如何以编程方式设计线性布局

[英]how to design Linear layout programmatically

how can I do something like this programmatically?我怎样才能以编程方式做这样的事情? There must be one Checkbox and two vertical textview in MaterialCardView.I tried using Linearlayout but I can't solve it. MaterialCardView中必须有一个复选框和两个垂直textview。我尝试使用Linearlayout但我无法解决。 在此处输入图像描述

 LinearLayout.LayoutParams layoutparams = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.MATCH_PARENT,
            LinearLayout.LayoutParams.WRAP_CONTENT

    );
    linearLayout.setOrientation(LinearLayout.VERTICAL);
    mCardView=new MaterialCardView(this);
    mCardView.setLayoutParams(layoutparams);
    mCardView.setElevation(2);
    linearLayout.addView(mCardView);

    LinearLayout linearLayout1=new LinearLayout(this);
    linearLayout1.setOrientation(LinearLayout.HORIZONTAL);
    linearLayout1.setLayoutParams(layoutparams);
    linearLayout.addView(linearLayout1)

    checkBox=new CheckBox(this);
    linearLayout1.addView(checkBox);
    txt_baslik=new TextView(this);
    txt_tarih=new TextView(this);
    txt_baslik.setLayoutParams(layoutparams);
    txt_tarih.setLayoutParams(layoutparams);
    txt_baslik.setText("deneme baslik");
    txt_tarih.setText("deneme tarih");
    linearLayout1.addView(txt_baslik);
    linearLayout1.addView(txt_baslik);

    LinearLayout linearLayout2=new LinearLayout(this);
    linearLayout2.setOrientation(LinearLayout.VERTICAL);
    linearLayout2.setLayoutParams(layoutparams);
    linearLayout.addView(linearLayout2);

I'm so confused我很混乱

you can do like that:你可以这样做:

在此处输入图像描述

LinearLayout.LayoutParams layoutparams = new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.MATCH_PARENT,
        LinearLayout.LayoutParams.WRAP_CONTENT);

LinearLayout linearLayout=new LinearLayout(this);
linearLayout.setOrientation(LinearLayout.HORIZONTAL);

CardView mCardView=new MaterialCardView(this);
mCardView.setLayoutParams(layoutparams);
mCardView.setElevation(2);

CheckBox checkBox=new CheckBox(this);
LinearLayout.LayoutParams checkBoxParam = new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.WRAP_CONTENT,
        LinearLayout.LayoutParams.WRAP_CONTENT);
checkBoxParam.gravity = Gravity.CENTER;
checkBox.setLayoutParams(checkBoxParam);

LinearLayout verticalLinLayout=new LinearLayout(this);
verticalLinLayout.setOrientation(LinearLayout.VERTICAL);
verticalLinLayout.setLayoutParams(layoutparams);

TextView txt_baslik=new TextView(this);
TextView txt_tarih=new TextView(this);

txt_baslik.setLayoutParams(layoutparams);
txt_tarih.setLayoutParams(layoutparams);

txt_baslik.setText("deneme baslik");
txt_tarih.setText("deneme tarih");

verticalLinLayout.removeAllViews();
verticalLinLayout.addView(txt_baslik);
verticalLinLayout.addView(txt_tarih);
linearLayout.addView(checkBox);
linearLayout.addView(verticalLinLayout);
mCardView.addView(linearLayout);

don't forgor add mCardView into your parent view at last.最后不要忘记将 mCardView 添加到您的父视图中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM