Search code examples
javaandroidandroid-linearlayoutandroid-cardviewandroiddesignsupport

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. enter image description here

 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


Solution

  • you can do like that :

    enter image description here

    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.