create your custom header and footer with your list view code as below
header.xml file 
 <RelativeLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <TextView      
            android:layout_width="match_parent"
            android:layout_height="your custom height" // you may set default too
          />
    </RelativeLayout>
footer.xml file
 <RelativeLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
        <Button 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </RelativeLayout>
add where your listview
 LayoutInflater inflaterHeader = getLayoutInflater();
    ViewGroup header = (ViewGroup) inflaterFooter.inflate(
                    R.layout.header, list_view, false);
    yourListView.addHeaderView(header);
    LayoutInflater inflaterFooter = getLayoutInflater();
            ViewGroup footer = (ViewGroup) inflaterFooter.inflate(
                    R.layout.footer, list_view, false);
    yourListView.addFooterView(footer);