How to implement a scroll view on only part of my layout
Solution 1
Try doing something like this:
LinearLayout
LinearLayout
Header-Elements
/LinearLayout
ScrollView
LinearLayout
Main-Elements
/LinearLayout
/ScrollView
LinearLayout
Bottom-Elements
/LinearLayout
/LinearLayout
Remeber to use android:orientation="vertical" on the LinearLayout if you want that the elements apear beneath each other.
Solution 2
Here is the pseudo layout design as per your requirement:
<LinearLayout
----
android:weightSum="1.0" >
--- Your top elements ---
<ScrollView >
<LinearLayout
----
android:layout_weight="1.0" >
--- Your scrollable items ----
</LinearLayout>
</ScrollView>
--- Your bottom elements ---
</LinearLayout>
Solution 3
You can use RelativeLayout for this:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/White" >
<RelativeLayout
android:id="@+id/topLayout"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true" >
// place your all the textViews here (all the top ones.)
</RelativeLayout>
<ScrollView
android:layout_below="@id/topLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
// place your all scrollable views here.
</ScrollView>
<RelativeLayout
android:id="@+id/bottomLayout"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true" >
// place your all the buttons here (the bottom part.)
</RelativeLayout>
</RelativeLayout>
EDIT:
As RelativeLayout
places views relatively, by using android:layout_alignParentBottom="true"
the views can be placed on bottom part of the screen.
JuiCe
Updated on June 05, 2022Comments
-
JuiCe almost 2 years
I want to create a layout that has 6 TextViews on the very top, 4 Buttons on the very bottom, and then have the entire center space be a scroll view with 22 Checkboxes ( 1 per line ). Basically I want a title bar on top, 2 buttons to navigate on the bottom, and a list I can scroll through in the middle.
I also would like the checkboxes to remain uncheckable, which I'm sure is a simple function call.
The view comes up with no upper title with text, and no lower bar with the buttons. Does anyone know what to do? The scrollview is the only thing appearing....
<?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:weightSum="1.0" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal" android:text="SN : " /> <TextView android:id="@+id/serialNumberView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal" android:text="Ver : " /> <TextView android:id="@+id/versionView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal" android:text="Type : " /> <TextView android:id="@+id/typeView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal" /> </LinearLayout> <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_weight="1"> <CheckBox android:id="@+id/floatCheck" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Float" /> <CheckBox android:id="@+id/tripCheck" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Trip" /> <CheckBox android:id="@+id/closeCheck" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Close" /> <CheckBox android:id="@+id/blockedCheck" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Blocked" /> <CheckBox android:id="@+id/hardTripCheck" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hard Trip" /> <CheckBox android:id="@+id/phaseAngleCheck" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Phase angle wrong for closing" /> <CheckBox android:id="@+id/diffVoltsCheck" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Differential volts too low" /> <CheckBox android:id="@+id/networkVoltsCheck" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Netwrok volts too low to close" /> <CheckBox android:id="@+id/usingDefaultsCheck" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Using Defaults( Reprogram )" /> <CheckBox android:id="@+id/relaxedCloseActiveCheck" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Relaxed Close Active" /> <CheckBox android:id="@+id/commBoardDetectedCheck" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Comm Board Detected" /> <CheckBox android:id="@+id/antiPumpBlock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Anti-Pump Block" /> <CheckBox android:id="@+id/motorCutoffCheck" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Motor Cutoff Inhibit" /> <CheckBox android:id="@+id/phaseRotationCheck" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Phase Rotation Wrong" /> <CheckBox android:id="@+id/usingDefaultDNPCheck" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text= "Using Default DNP Profile" /> </LinearLayout> </ScrollView> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_weight="1" > <Button android:id="@+id/button3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Back" /> <Button android:id="@+id/button3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Read" /> </LinearLayout> </LinearLayout>