This my xml file that shows listview under linerlayout and scrollview. How can I make my listview scroll? Because what I wanted is the background image under the linearlayout is scrolling too. But whenever I wanted to scroll the listview it rather scroll the whole layout.
<ScrollView 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"
tools:context=".MainScreenEntered"
>
<LinearLayout
android:layout_width="320dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/mainscreen"
>
<EditText
android:id="@+id/txtSearch"
android:layout_width="220dp"
android:layout_height="40dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="10dp"
android:layout_marginTop="130dp"
android:background="@drawable/white"
android:height="10dp"
android:singleLine="true"
android:textSize="15sp"
android:hint="@string/search"
/>
<Button
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_marginLeft="250dp"
android:layout_marginRight="10dp"
android:layout_marginTop="-41dp"
android:background="@drawable/btnsearch"
/>
<ListView
android:id="@+id/lvEntries"
android:layout_width="255dp"
android:layout_height="300dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="10dp"
android:layout_marginTop="41dp"
/>
<Button
android:layout_width="280dp"
android:layout_height="55dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="10dp"
android:layout_marginTop="21dp"
android:background="@drawable/btnaddentry"
android:onClick="goToAddEntryScreen"
/>
</LinearLayout>
</ScrollView>
You should not put ListView under a ScrollView. ListView scrolls by itself. Instead you can add views as a header or footer to listview.
Quoting docs
You should never use a ScrollView with a ListView, because ListView takes care of its own vertical scrolling. Most importantly, doing this defeats all of the important optimizations in ListView for dealing with large lists, since it effectively forces the ListView to display its entire list of items to fill up the infinite container supplied by ScrollView.
You can also use a RelativeLayout
. Only ListView Scrolls the EditText and Buttons do not scroll. Modify the below Accordingly
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="Button" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignRight="@+id/button1"
android:layout_marginTop="81dp"
android:text="Button" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:ems="10" >
<requestFocus />
</EditText>
<ListView
android:id="@+id/listView1"
android:layout_above="@id/button1"
android:layout_below="@id/button2"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
</ListView>
</RelativeLayout>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.