android - Background of List items is stretching more than height? -
i have listview custom adapter (tile) design. should work fine thing til (listview item background) stretches despite me giving layout_height fixed value. here's code:
this xml custom tile. notice 85dp fixed height. background drawable should not stretch beyond hight?
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_height="85dp"     android:background="@drawable/tile_job" >      <textview         android:id="@+id/title"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_margintop="9dp"         android:layout_alignparentleft="true"         android:layout_alignparenttop="true"         android:layout_marginleft="13dp"         android:text="title" />      <textview         android:id="@+id/pickup"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_marginleft="20dp"         android:layout_margintop="38dp"         android:layout_alignleft="@+id/title"         android:textsize="11dp"         android:text="pickup address" />      <textview         android:id="@+id/destination"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_alignleft="@+id/pickup"         android:layout_below="@+id/pickup"         android:layout_margintop="6dp"         android:textsize="11dp"         android:text="destination address" />      <textview         android:id="@+id/time"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_above="@+id/destination"         android:layout_alignparentright="true"         android:layout_marginright="40dp"         android:text="time"         android:textsize="11dp" />      <textview         android:id="@+id/date"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_alignleft="@+id/time"         android:layout_below="@+id/time"         android:text="date"         android:layout_margintop="7dp"         android:textsize="11dp" />  </relativelayout> now i'm using in simple listview:
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     android:background="@drawable/app_bg" >      <relativelayout         android:id="@+id/relativelayout1"         android:layout_width="wrap_content"         android:layout_height="50dp"         android:layout_alignparentleft="true"         android:layout_alignparentright="true"         android:layout_alignparenttop="true"         android:background="@drawable/strip_top" >          <textview             android:id="@+id/strip_text"             style="@style/topstriptext"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:layout_centerhorizontal="true"             android:layout_centervertical="true"             android:text="locate" />     </relativelayout>      <relativelayout         android:layout_width="280dp"         android:layout_height="440dp"         android:layout_below="@+id/relativelayout1"         android:layout_centerhorizontal="true"         android:layout_margintop="15dp"         android:background="@drawable/bg_booking" >          <listview             android:id="@+id/activebookings"             android:layout_width="match_parent"             android:layout_height="match_parent"             android:layout_alignparentleft="true"             android:layout_alignparenttop="true" >         </listview>     </relativelayout> what causing tile overstretch vertically?
===========
edit here requested code:
inflation of layout:
public class jobadapter extends baseadapter {     private arraylist<job> bookingarraylist;     private layoutinflater minflater;      public jobadapter(context context, arraylist<job> results)     {         bookingarraylist = results;         minflater = layoutinflater.from(context);     }      @override     public int getcount()     {         return bookingarraylist.size();     }      @override     public object getitem(int arg0)     {         return bookingarraylist.get(arg0);     }      @override     public long getitemid(int position)     {         return position;     }      @override     public view getview(int position, view convertview, viewgroup parent)     {         viewholder holder;         if (convertview == null)         {             convertview = minflater.inflate(r.layout.tile_job, null);             holder = new viewholder();             holder.date = (textview) convertview.findviewbyid(r.id.date);             holder.time = (textview) convertview.findviewbyid(r.id.time);             holder.pickup = (textview) convertview.findviewbyid(r.id.pickup);             holder.destination = (textview) convertview.findviewbyid(r.id.destination);             holder.title = (textview) convertview.findviewbyid(r.id.title);              convertview.settag(holder);         }         else         {             holder = (viewholder) convertview.gettag();         }          holder.date.settext(bookingarraylist.get(position).getdate());         holder.time.settext(bookingarraylist.get(position).gettime());         holder.pickup.settext(bookingarraylist.get(position).getpickup());         holder.destination.settext(bookingarraylist.get(position).getdestination());         holder.title.settext(bookingarraylist.get(position).gettitle());          return convertview;     }      static class viewholder     {         textview date;         textview time;         textview pickup;         textview destination;         textview title;     } } 
your creating row following:
convertview = minflater.inflate(r.layout.tile_job, null); now try this:
convertview = minflater.inflate(r.layout.tile_job, parent, false); if don't attach parent layout layout parameters xml ignored. set false don't attach view root right away (this happens automatically when view returned). can read more issue here.
Comments
Post a Comment