How do I create a header or footer button bar for my Android application How do I create a header or footer button bar for my Android application xml xml

How do I create a header or footer button bar for my Android application


Using this way you can make your header-footer xml and use it to any of your activity also you just need to write code for the controls in header-footer once in HeaderFooter.java and can access it your project.

Build your HederFooter.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="fill_parent"    android:layout_height="fill_parent" android:weightSum="10"    android:id="@+id/commonlayout" android:background="#FFFFFF">    <LinearLayout android:id="@+id/llheader"        android:layout_width="fill_parent" android:layout_height="0dp"        android:background="@drawable/bar" android:layout_weight="1">        <RelativeLayout android:id="@+id/relativeLayout1"            android:layout_width="fill_parent" android:layout_height="fill_parent"            android:layout_gravity="center">            <Button                android:id="@+id/Button_HeaderFooterSubscribe"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_alignParentRight="true"                android:layout_marginRight="2dp"                android:layout_centerVertical="true"                android:background="@drawable/subscribe"                />                <Button                android:id="@+id/Button_logout"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_alignParentRight="true"                android:layout_marginRight="2dp"                android:layout_centerVertical="true"                android:background="@drawable/logout"                />                <Button                android:id="@+id/Button_playlist"                android:layout_marginLeft="2dp"                android:layout_width="wrap_content"                android:layout_centerVertical="true"                android:layout_height="wrap_content"                android:layout_alignParentLeft="true"                android:background="@drawable/tempadd"                /></RelativeLayout>    </LinearLayout>    <LinearLayout android:id="@+id/lldata"        android:layout_weight="8" android:layout_width="fill_parent"        android:layout_height="0dp" android:background="#FFFFFF">    </LinearLayout>    <LinearLayout android:id="@+id/llfooter"        android:layout_weight="1" android:layout_width="fill_parent"        android:orientation="horizontal" android:layout_height="0dp"        android:visibility="visible" android:background="@drawable/fbg"        android:weightSum="5.0" android:gravity="center"        android:layout_margin="0dp">        <Button android:id="@+id/home" android:layout_height="wrap_content"            android:layout_width="wrap_content" android:layout_weight="1"            android:background="@drawable/home" android:textColor="#FFFFFF"            android:padding="10px"></Button>        <Button android:id="@+id/issue" android:layout_height="wrap_content"            android:layout_width="wrap_content" android:layout_weight="1"            android:background="@drawable/issue" android:textColor="#FFFFFF"            android:padding="10px"></Button>        <Button android:id="@+id/browse" android:layout_height="wrap_content"            android:layout_width="wrap_content" android:layout_weight="1"            android:background="@drawable/browse" android:textColor="#FFFFFF"            android:padding="10px"></Button>        <Button android:id="@+id/search" android:layout_height="wrap_content"            android:layout_width="wrap_content" android:layout_weight="1"            android:background="@drawable/search" android:textColor="#FFFFFF"            android:padding="10px"></Button>        <Button android:layout_height="wrap_content" android:id="@+id/favorite"            android:background="@drawable/favorite" android:layout_width="wrap_content"            android:layout_weight="1"            android:textColor="#FFFFFF" android:padding="10px"></Button>    </LinearLayout></LinearLayout>

Then Create One HeaderFooter.java Activity

public class HeaderFooter extends Activity {        public void onCreate(Bundle savedInstanceState) {             super.onCreate(savedInstanceState);             setContentView(R.layout.headerfooter);        } }

Now Extend above activity to your all other activities and inflate your particular view in the middle layout of the headerfooter.xml

public class Home extends HeaderFooter {        @Override        public void onCreate(Bundle savedInstanceState)        {            super.onCreate(savedInstanceState);            ViewGroup vg = (ViewGroup) findViewById(R.id.lldata);            ViewGroup.inflate(Home.this, R.layout.home, vg);        }}


Just create a xml as you need.

Add these XML to your other screens using tag in your other Screen XMLs.

Sample is here.

You can handle the button click as you need in each activity.

Hope this helps.


Design Xml layout with header,footer and body.you have to extend the main activity every time,you have to change body by inflating desired layout.