Android:具有两个可滚动视图的大小相同的布局

时间:2016-01-02 23:45:34

标签: android layout scrollview

我需要一个包含固定区域的布局,其中包含

  • 一个旋转器,
  • 一个复选框和
  • 两个按钮(应该水平对齐)

和包含

的可变区域(取决于设备的大小)
  • 列表视图和
  • textview。

变量区域中的两个视图应该共享屏幕的其余部分,以获得相等的垂直空间。

我做错了什么?

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
>
    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <Spinner
            android:id="@+id/mainSpinner1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
        />

        <CheckBox android:id="@+id/mainCheckbox1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/checkbox1"
        />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
        >
            <Button
                android:id="@+id/mainButton1"
                android:text="@string/mainButton1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:onClick="onReadDBClick"
            />

            <Button
                android:id="@+id/mainButton2"
                android:text="@string/mainButton2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:onClick="onCreateDBClick"
            />
        </LinearLayout>

        <ScrollView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
            <ListView
                android:id="@+id/mainListView1"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
            />
        </ScrollView>

                <TextView
                    android:id="@+id/mainTextView1"
                    android:text="@string/hello_world"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:maxLines="2000"
                    android:scrollbars="vertical"
                    android:layout_weight="5"
                    />
    </LinearLayout>
</ScrollView>
PS:在我尝试了几次改变之后(我理解的那些......)我玩了一会儿,因为我在两小时内找不到合适的东西......希望,我没有搞砸太多了......

2 个答案:

答案 0 :(得分:1)

起初。你不应该在scrollview中放置scrollview。 ListView也不应该在scrollview中。 阅读RecyclerView以及如何使用它而不是ListView。

这样的东西?:)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
    >

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

        <Spinner
            android:id="@+id/mainSpinner1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />

        <CheckBox
            android:id="@+id/mainCheckbox1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/checkbox1"
            />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            >

            <Button
                android:id="@+id/mainButton1"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="onReadDBClick"
                android:text="@string/mainButton1"
                />

            <Button
                android:id="@+id/mainButton2"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="onCreateDBClick"
                android:text="@string/mainButton2"
                />
        </LinearLayout>
    </LinearLayout>

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

        <ListView
            android:id="@+id/mainListView1"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_weight="1"
            />


        <TextView
            android:id="@+id/mainTextView1"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:maxLines="2000"
            android:scrollbars="vertical"
            android:text="@string/hello_world"
            />
    </LinearLayout>

</LinearLayout>

答案 1 :(得分:0)

尝试:

{{1}}