2

我正在开发一个带有 ScrollView 的应用程序,其中的大部分视图都添加到 onCreate 的 RelativeLayout。像这样: 在此处输入图像描述

我还想在运行时添加视图。这些被添加到上图中的当前位置。我想要做的是在运行时在想要的位置添加视图。

我怎样才能做到这一点?

4

4 回答 4

3

按照建议将其中的布局转换ScrollView为 a LinearLayout,然后使用:

addView(child, index, layoutParams)

在你的LinearLayout.

于 2012-11-03T10:49:04.557 回答
0

您可以将 RelativeLayout 转换为 LinearLayout 并设置android:orientation="vertical".

在此 LinearLayout 中,您可以为水平视图嵌套另一个 LinearLayout,使用android:orientation="horizontal".

这样,对于每个水平视图部分,您可以将子 LinearLayout 添加到您的父 LinearLayout,并且这些子元素中的每一个都将根据您的需要垂直排列在另一个下方。

于 2012-11-03T10:24:54.510 回答
0

将此设置为滚动视图 android:orientation="vertical"android:scrollbars="vertical"

于 2012-11-03T10:17:58.910 回答
0

我认为答案包含在最后一行(parent.addView(brick, 0 );),但为了排除误解,我已经发布了所有代码。现在我也在做同样的事情

xml
activity_view.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
>
    <ScrollView
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
    >
        <LinearLayout android:id="@+id/parent"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:orientation="horizontal"
        >
        </LinearLayout>
    </ScrollView>
</RelativeLayout>

tpl_yellow_brick.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="42dp"
    android:layout_width="42p"
>
    <TextView
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="I'm square yellow brick"            
    />
</LinearLayout>

爪哇

View brick = getLayoutInflater().inflate(R.layout.tpl_yellow_brick, null);
ViewGroup parent = findViewById(R.id.parent);
parent.addView(brick, 0);
于 2017-02-11T15:00:57.593 回答