tags:

views:

488

answers:

1

Hi everyone,

I have a layout which does almost what I want. There's just one bug regarding the button at the bottom. I should stay at the bottom at all times. But whenever I bring up the soft-keyboard the button will be displayed above the keyboard. This is not what I want but it should become covered by the keyboard.

Moreover, I'd be happy if you could comment on how the layout's built.

Thanks, steff

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<LinearLayout android:id="@+id/l_layout_tags"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <TextView
        android:text="TAGS:"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <AutoCompleteTextView android:id="@+id/actv_tags"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:imeOptions="actionDone" />
    <ImageButton android:id="@+id/btn_add_tag"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_input_add"
        android:onClick="addTag"/>
</LinearLayout>

<ScrollView android:id="@+id/sv_scroll_contents"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/l_layout_tags"
    android:scrollbarFadeDuration="2000" >
    <TableLayout android:id="@+id/t_layout_contents"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:stretchColumns="1"
        android:paddingRight="5dip">
        <TableRow android:id="@+id/tr_template">
            <ImageView android:id="@+id/iv_blank"
                android:src="@android:color/transparent" />
            <EditText android:id="@+id/et_content1"
                android:gravity="top"
                android:maxWidth="200dp"
                android:imeOptions="actionDone" />
        </TableRow>
    </TableLayout>
</ScrollView>

<LinearLayout android:id="@+id/l_layout_media_btns"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_centerHorizontal="true"
    android:layout_below="@id/sv_scroll_contents" >
    <ImageButton android:id="@+id/btn_camera"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_camera"
        android:onClick="takePicture" />
    <ImageButton android:id="@+id/btn_video"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_camera" />
    <ImageButton android:id="@+id/btn_audio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_btn_speak_now" />
    <ImageButton android:id="@+id/btn_sketch"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_edit" />
</LinearLayout> 

<ImageButton android:id="@+id/btn_save_note"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:src="@android:drawable/ic_menu_upload" />

</RelativeLayout>
+3  A: 

Add android:windowSoftInputMode="adjustPan" to your activity tag in the AndroidManifest.xml.

This way, the software keyboard won't resize your layout and your button will stay under it. Take a look here to get a better idea about different soft keyboard modes.

Dimitar Dimitrov
Awesome, that did the trick. Thanks for your help.
steff
And could you comment on the layout itself? Is it completely redundant?Thanks, mate
steff
And one more thing: when I fill the automatically resizing EditText (what I want) it starts to be covered by the afore mentioned button at some point.How can I modify the Layout in such a way that the button stays at the bottom and does not cover anything?
steff