【问题标题】:How to generate android linear layout by code in scroll view?如何在滚动视图中通过代码生成android线性布局?
【发布时间】:2026-01-16 10:20:17
【问题描述】:

我有一个滚动视图和一个列表。我创建了自己的列表,但没有使用 android API 附带的列表视图。 我需要通过网络服务动态生成这个列表。 这是我的清单:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="ir.tehraninternet780.standupcomedy.Main3Activity"
android:paddingRight="@dimen/activity_vertical_margin">

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imageView14"
    android:layout_alignParentTop="true"
    android:src="@drawable/selectmatchtext"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:paddingRight="10dp" />

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/scrollView"
    android:layout_below="@+id/imageView14"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true">
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true">
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="130dp"
            android:background="@drawable/multi_bg2"
            android:id="@+id/RelativeBtn1"
            android:layout_below="@+id/imageView14"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true">

            <ImageView
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:id="@+id/imageView9"
                android:src="@drawable/masoodi"
                android:layout_marginLeft="18dp"
                android:layout_marginStart="18dp"
                android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginTop="10dp" />

            <ImageView
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:id="@+id/imageView10"
                android:src="@drawable/logo780old"
                android:layout_alignParentTop="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true"
                android:layout_marginRight="18dp"
                android:layout_marginEnd="18dp"
                android:layout_marginTop="10dp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="علی مسعودی"
                android:id="@+id/textView2"
                android:layout_below="@+id/imageView9"
                android:layout_alignLeft="@+id/imageView9"
                android:layout_alignStart="@+id/imageView9"
                android:layout_alignRight="@+id/imageView9"
                android:layout_alignEnd="@+id/imageView9"
                android:textAlignment="center"
                android:layout_marginTop="10dp"
                android:textColor="@color/White" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="شقایق دهقان"
                android:id="@+id/textView3"
                android:textAlignment="center"
                android:layout_alignTop="@+id/textView2"
                android:layout_alignLeft="@+id/imageView10"
                android:layout_alignStart="@+id/imageView10"
                android:layout_alignRight="@+id/imageView10"
                android:layout_alignEnd="@+id/imageView10"
                android:textColor="@color/White" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="130dp"
            android:background="@drawable/multi_bg2"
            android:id="@+id/relativeLayout"
            android:layout_below="@+id/RelativeBtn1"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true">

            <ImageView
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:id="@+id/imageView15"
                android:src="@drawable/masoodi"
                android:layout_marginLeft="18dp"
                android:layout_marginStart="18dp"
                android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginTop="10dp" />

            <ImageView
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:id="@+id/imageView16"
                android:src="@drawable/dehghan"
                android:layout_alignParentTop="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true"
                android:layout_marginRight="18dp"
                android:layout_marginEnd="18dp"
                android:layout_marginTop="10dp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="علی مسعودی"
                android:id="@+id/textView4"
                android:layout_below="@+id/imageView15"
                android:layout_alignLeft="@+id/imageView15"
                android:layout_alignStart="@+id/imageView15"
                android:layout_alignRight="@+id/imageView15"
                android:layout_alignEnd="@+id/imageView15"
                android:textAlignment="center"
                android:layout_marginTop="10dp"
                android:textColor="@color/White" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="شقایق دهقان"
                android:id="@+id/textView6"
                android:textAlignment="center"
                android:layout_alignTop="@+id/textView4"
                android:layout_alignLeft="@+id/imageView16"
                android:layout_alignStart="@+id/imageView16"
                android:layout_alignRight="@+id/imageView16"
                android:layout_alignEnd="@+id/imageView16"
                android:textColor="@color/White" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="130dp"
            android:background="@drawable/multi_bg2"
            android:id="@+id/relativeLayout3"
            android:layout_below="@+id/relativeLayout"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" >

            <ImageView
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:id="@+id/imageView19"
                android:src="@drawable/masoodi"
                android:layout_marginLeft="18dp"
                android:layout_marginStart="18dp"
                android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginTop="10dp" />

            <ImageView
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:id="@+id/imageView20"
                android:src="@drawable/dehghan"
                android:layout_alignParentTop="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true"
                android:layout_marginRight="18dp"
                android:layout_marginEnd="18dp"
                android:layout_marginTop="10dp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="علی مسعودی"
                android:id="@+id/textView9"
                android:layout_below="@+id/imageView19"
                android:layout_alignLeft="@+id/imageView19"
                android:layout_alignStart="@+id/imageView19"
                android:layout_alignRight="@+id/imageView19"
                android:layout_alignEnd="@+id/imageView19"
                android:textAlignment="center"
                android:layout_marginTop="10dp"
                android:textColor="@color/White" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="شقایق دهقان"
                android:id="@+id/textView10"
                android:textAlignment="center"
                android:layout_alignTop="@+id/textView9"
                android:layout_alignLeft="@+id/imageView20"
                android:layout_alignStart="@+id/imageView20"
                android:layout_alignRight="@+id/imageView20"
                android:layout_alignEnd="@+id/imageView20"
                android:textColor="@color/White" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="130dp"
            android:background="@drawable/multi_bg2"
            android:id="@+id/relativeLayout5"
            android:layout_below="@+id/relativeLayout"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" >

            <ImageView
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:id="@+id/imageView23"
                android:src="@drawable/masoodi"
                android:layout_marginLeft="18dp"
                android:layout_marginStart="18dp"
                android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginTop="10dp" />

            <ImageView
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:id="@+id/imageView24"
                android:src="@drawable/dehghan"
                android:layout_alignParentTop="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true"
                android:layout_marginRight="18dp"
                android:layout_marginEnd="18dp"
                android:layout_marginTop="10dp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="علی مسعودی"
                android:id="@+id/textView13"
                android:layout_below="@+id/imageView23"
                android:layout_alignLeft="@+id/imageView23"
                android:layout_alignStart="@+id/imageView23"
                android:layout_alignRight="@+id/imageView23"
                android:layout_alignEnd="@+id/imageView23"
                android:textAlignment="center"
                android:layout_marginTop="10dp"
                android:textColor="@color/White" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="شقایق دهقان"
                android:id="@+id/textView14"
                android:textAlignment="center"
                android:layout_alignTop="@+id/textView13"
                android:layout_alignLeft="@+id/imageView24"
                android:layout_alignStart="@+id/imageView24"
                android:layout_alignRight="@+id/imageView24"
                android:layout_alignEnd="@+id/imageView24"
                android:textColor="@color/White" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="130dp"
            android:background="@drawable/multi_bg2"
            android:id="@+id/relativeLayout4"
            android:layout_below="@+id/relativeLayout"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" >

            <ImageView
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:id="@+id/imageView21"
                android:src="@drawable/masoodi"
                android:layout_marginLeft="18dp"
                android:layout_marginStart="18dp"
                android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginTop="10dp" />

            <ImageView
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:id="@+id/imageView22"
                android:src="@drawable/dehghan"
                android:layout_alignParentTop="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true"
                android:layout_marginRight="18dp"
                android:layout_marginEnd="18dp"
                android:layout_marginTop="10dp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="علی مسعودی"
                android:id="@+id/textView11"
                android:layout_below="@+id/imageView21"
                android:layout_alignLeft="@+id/imageView21"
                android:layout_alignStart="@+id/imageView21"
                android:layout_alignRight="@+id/imageView21"
                android:layout_alignEnd="@+id/imageView21"
                android:textAlignment="center"
                android:layout_marginTop="10dp"
                android:textColor="@color/White" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="شقایق دهقان"
                android:id="@+id/textView12"
                android:textAlignment="center"
                android:layout_alignTop="@+id/textView11"
                android:layout_alignLeft="@+id/imageView22"
                android:layout_alignStart="@+id/imageView22"
                android:layout_alignRight="@+id/imageView22"
                android:layout_alignEnd="@+id/imageView22"
                android:textColor="@color/White" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="130dp"
            android:background="@drawable/multi_bg2"
            android:id="@+id/relativeLayout2"
            android:layout_below="@+id/relativeLayout"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true">

            <ImageView
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:id="@+id/imageView17"
                android:src="@drawable/masoodi"
                android:layout_marginLeft="18dp"
                android:layout_marginStart="18dp"
                android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginTop="10dp" />

            <ImageView
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:id="@+id/imageView18"
                android:src="@drawable/dehghan"
                android:layout_alignParentTop="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true"
                android:layout_marginRight="18dp"
                android:layout_marginEnd="18dp"
                android:layout_marginTop="10dp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="علی مسعودی"
                android:id="@+id/textView7"
                android:layout_below="@+id/imageView17"
                android:layout_alignLeft="@+id/imageView17"
                android:layout_alignStart="@+id/imageView17"
                android:layout_alignRight="@+id/imageView17"
                android:layout_alignEnd="@+id/imageView17"
                android:textAlignment="center"
                android:layout_marginTop="10dp"
                android:textColor="@color/White" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="شقایق دهقان"
                android:id="@+id/textView8"
                android:textAlignment="center"
                android:layout_alignTop="@+id/textView7"
                android:layout_alignLeft="@+id/imageView18"
                android:layout_alignStart="@+id/imageView18"
                android:layout_alignRight="@+id/imageView18"
                android:layout_alignEnd="@+id/imageView18"
                android:textColor="@color/White" />

        </RelativeLayout>
    </LinearLayout>
</ScrollView>

如何在代码中生成粉红色的并将它们放在滚动视图中???

【问题讨论】:

  • 投票-1的我是在开玩笑吗???
  • I have a scroll view and a list 为什么不是 ListView?顺便说一句,尽量使布局扁平化。
  • 因为我想在列表的每一行有两张图片,这是不可能的!
  • 什么?不可能的?您听说过自定义 ListView 项目吗?
  • 顺便说一下,你根本不需要使用ImageViews,因为你可以在TextViews中加入compound drawables。这也有助于您扁平化布局设计。

标签: android android-listview


【解决方案1】:

我同意弗兰克的观点。最好使用列表视图,但您可以执行类似的操作: Programmatically adding TableRow to TableLayout not working

ScrollView yourScroll = (ScrollView) findViewById(R.id.yourScroll);

LinearLayout l = new LinearLayout(this);

l.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
//l.setBackground(Color.parseColor("#"));
yourScroll.addView(l);

这将添加一个线性布局作为子级。通过说类似的话添加水平方向(在添加到滚动视图之前:

l.setOrientation(...

带有列表视图的自定义适配器示例:https://github.com/kweaver00/android-learning/tree/master/ListView

【讨论】: