Android:具有两个可滚动视图的大小相等的布局
Android: equal sized layout with two scrollable views
我需要一个固定区域的布局,其中包含
- 一个微调器,
- 一个复选框和
- 两个按钮(应水平对齐)
和包含
的可变区域(取决于设备的大小)
- 列表视图和
- 一个文本视图。
可变区域中的两个视图应共享屏幕的其余部分,以一种垂直方向相等的方式 space。
我做错了什么?
<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>
P.S.: 在我尝试了几次更改(我理解的那些...)之后,我玩了一下,因为我在两个小时内没有真正找到合适的东西...希望,我没有搞砸太多...
尝试:
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<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>
</LinearLayout>
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1">
<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:layout_weight="1"
android:maxLines="2000"
android:scrollbars="vertical"
/>
</LinearLayout>
起初。你不应该把 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>
我需要一个固定区域的布局,其中包含
- 一个微调器,
- 一个复选框和
- 两个按钮(应水平对齐)
和包含
的可变区域(取决于设备的大小)- 列表视图和
- 一个文本视图。
可变区域中的两个视图应共享屏幕的其余部分,以一种垂直方向相等的方式 space。
我做错了什么?
<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>
P.S.: 在我尝试了几次更改(我理解的那些...)之后,我玩了一下,因为我在两个小时内没有真正找到合适的东西...希望,我没有搞砸太多...
尝试:
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<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>
</LinearLayout>
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1">
<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:layout_weight="1"
android:maxLines="2000"
android:scrollbars="vertical"
/>
</LinearLayout>
起初。你不应该把 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>