android - Making list view strech entire screen height -
i have list view design recipes app. each item consists of image, title, description , number of calories. problem doesnt fill entire screen, instead gives scrollbar on right.
how can make fill screen? also, there better way of showing list items without using tables?
list.xml:
<framelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <scrollview android:layout_width="match_parent" android:layout_height="match_parent" android:fadingedgelength="0dp" android:fillviewport="true" android:overscrollmode="never" android:scrollbars="none"> <relativelayout android:layout_width="match_parent" android:layout_height="wrap_content"> <listview android:id="@+id/listviewrecipes" android:layout_width="match_parent" android:layout_height="wrap_content" android:dividerheight="1dp" android:padding="10dp"></listview> </relativelayout> </scrollview> </framelayout>
list_item.xml:
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:padding="8dp" android:fadingedgelength="0dp" android:fillviewport="true" android:overscrollmode="never" android:scrollbars="none"> <tablelayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchcolumns="1"> <tablerow android:id="@+id/tablerow1"> <!-- image --> <imageview android:id="@+id/listviewrecipeimage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:fillviewport="true" android:overscrollmode="never" app:srccompat="@drawable/img_pixel" /> <!-- //image --> <!-- title, introduction --> <linearlayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_marginleft="6dp" android:fadingedgelength="0dp" android:fillviewport="true" android:overscrollmode="never" android:scrollbars="none"> <textview android:id="@+id/listviewrecipetitle" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="title" android:textappearance="?android:attr/textappearancemedium" android:textcolor="@color/colorblack"/> <textview android:id="@+id/listviewrecipeintroduction" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margintop="2dp" android:textappearance="?android:attr/textappearancesmall" android:textcolor="@color/colorblack" android:text="introduction"/> </linearlayout> <!-- //title, introduction --> <!-- numbers --> <linearlayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <tablelayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_margintop="6dp"> <tablerow> <textview android:id="@+id/textviewservingcalories" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textappearance="?android:attr/textappearancesmall" android:textcolor="@color/colordarkgray" android:text="xx" /> <textview android:id="@+id/textviewservingcalorieskcal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textappearance="?android:attr/textappearancesmall" android:textcolor="@color/colordarkgray" android:layout_marginleft="6dp" android:text="@string/kcal_lowercase" /> </tablerow> </tablelayout> <textview android:id="@+id/textviewservingcalorieskcalperserving" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textappearance="?android:attr/textappearancesmall" android:textcolor="@color/colordarkgray" android:text="@string/per_serving_lowercase" /> </linearlayout> <!-- //numbers --> </tablerow> </tablelayout> </linearlayout>
this modify version of code. need remove outer scrollview since listview scrollable
<framelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <listview android:id="@+id/listviewrecipes" android:layout_width="match_parent" android:layout_height="wrap_content" android:dividerheight="1dp" android:padding="10dp"> </listview> </framelayout>
i have remove table layout , replace linearlayout
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:padding="8dp"> <linearlayout android:layout_width="0dp" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_weight="3"> <imageview android:id="@+id/listviewrecipeimage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:fillviewport="true" android:overscrollmode="never" app:srccompat="@drawable/add" /> <linearlayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginstart="8dp" android:layout_margintop="8dp" android:orientation="vertical"> <textview android:id="@+id/listviewrecipetitle" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="title" android:textappearance="?android:attr/textappearancemedium" android:textcolor="@color/colorblack"/> <textview android:id="@+id/listviewrecipeintroduction" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margintop="2dp" android:textappearance="?android:attr/textappearancesmall" android:textcolor="@color/colorblack" android:text="introduction"/> </linearlayout> </linearlayout> <linearlayout android:layout_width="0dp" android:layout_height="wrap_content" android:orientation="vertical" android:paddingtop="8dp" android:layout_weight="1"> <linearlayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginbottom="4dp" android:orientation="horizontal"> <textview android:id="@+id/textviewservingcalories" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textappearance="?android:attr/textappearancesmall" android:textcolor="@color/colorprimary" android:text="xx" /> <textview android:id="@+id/textviewservingcalorieskcal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textappearance="?android:attr/textappearancesmall" android:textcolor="@color/colorprimary" android:layout_marginleft="6dp" android:text="carolies" /> </linearlayout> <textview android:id="@+id/textviewservingcalorieskcalperserving" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textappearance="?android:attr/textappearancesmall" android:textcolor="@color/colorprimary" android:text="per server" /> </linearlayout>
Comments
Post a Comment