ルートレイアウトとして相対レイアウトを使用し、
android:layout_alignParentBottom = "true"
お子様のビューに合わせて、ソフトキーボードで上にスライドさせます
以下はサンプルコードです。
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:color/background_light">
<Button
android:text="Add Contact"
android:id="@+id/addContact"
android:layout_alignParentTop="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"></Button>
<EditText
android:id="@+id/searchEditText"
android:layout_below="@id/addContact"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:hint="Search" />
<ExpandableListView
android:layout_below="@id/searchEditText"
android:layout_above="@+id/selection_layout"
android:id="@+id/contactList"
android:layout_width="fill_parent"
android:layout_height="0px"
></ExpandableListView>
<LinearLayout
android:id="@+id/selection_layout"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:gravity="center"
android:background="@drawable/black_white_gradient"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:layout_width="80dp"
android:layout_height="wrap_content"
android:id="@+id/ok"
android:text="Ok" />
<Button
android:layout_width="80dp"
android:layout_height="wrap_content"
android:id="@+id/cancel"
android:text="Cancel" />
</LinearLayout>
</RelativeLayout>