Featured post

Marshmallow Features Point by Point

Android Runtime (“ART”) Improved application performance and lower memory overhead for faster  multi-tasking. Battery Doze...

Sunday 31 January 2016

Make ListView full size as its Items

import android.content.Context;
import android.util.AttributeSet;
import android.view.ViewGroup;
import android.widget.ListView;


public class ScrollableListView extends ListView 
{

    boolean expanded = true;
    public ScrollableListView(Context context)
    {        super(context);
        
    }
    public ScrollableListView(Context context, AttributeSet attrs
    {        super(context, attrs);
    }
    public ScrollableListView(Context context, AttributeSet attrs, int defStyle)
    {        super(context, attrs, defStyle);
    }
    public boolean isExpanded() 
    {        return expanded;
    }
    @Override

    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec
    {       
        if (isExpanded())
        {            
          int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
          super.onMeasure(widthMeasureSpec, expandSpec);

            ViewGroup.LayoutParams params = getLayoutParams();
            params.height = getMeasuredHeight();
        
        else
        {            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        }
    }
    public void setExpanded(boolean expanded
    {        this.expanded = expanded;
    }
}

No comments:

Post a Comment