以编程方式创建多个线性布局和文本视图

时间:2016-06-02 05:35:27

标签: android android-layout layout

以编程方式创建多个线性布局和文本视图

我试过说明请查看xml文件的代码以了解问题

查看图片了解我想要的输出

下面的xml代码是我想要的,但是以编程方式

<RelativeLayout
    android:id="@+id/fl_main"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:background="@color/white">



    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">


        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="ABc" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="ABc" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="ABc" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="ABc" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="ABc" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="ABc" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="ABc" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="ABc" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="ABc" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="ABc" />

        </LinearLayout>

    </LinearLayout>

</RelativeLayout
  

我希望以编程方式实现相同的输出

desired image output

2 个答案:

答案 0 :(得分:1)

试试这个

LinearLayout添加到您的xml

<LinearLayout
    android:id="@+id/ll_main"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:background="@android:color/white">

</LinearLayout>

并像这样更改您的Java文件

 LinearLayout ll_main = (LinearLayout) findViewById(R.id.ll_main);

    for(int i= 0; i <5 ;i++) {
        LinearLayout parent = new LinearLayout(Main.this);
        LinearLayout.LayoutParams param= new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
        param.weight = 1;
        parent.setLayoutParams(param);
        parent.setOrientation(LinearLayout.VERTICAL);

        TextView tv = new TextView(Main.this);
        tv.setText("T1");

        TextView tv2 = new TextView(Main.this);
        tv2.setText("T2");
        parent.addView(tv);
        parent.addView(tv2);
        ll_main.addView(parent);
    }

答案 1 :(得分:0)

我刚收到答案及其下方

LinearLayout ll_main = (LinearLayout) findViewById(R.id.linear);
            ll_main.setVisibility(View.VISIBLE);
            int j = 5;
            final LinearLayout[] linearlayout = new LinearLayout[j];

            for (int i = 0; i < j; i++) {
                LinearLayout parent = new LinearLayout(this);
                LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
                param.weight = 1;
                parent.setLayoutParams(param);
                parent.setOrientation(LinearLayout.VERTICAL);

                TextView tv = new TextView(this);
                tv.setText("T1");

                TextView tv2 = new TextView(this);
                tv2.setText("T2");
                parent.addView(tv);
                parent.addView(tv2);
                linearlayout[i] = parent;
                ll_main.addView(parent);

            }

    }
}