Android EditText Layout, как Gmail Compose Screen - PullRequest
3 голосов
/ 23 мая 2011

Я пытаюсь реализовать следующее:

Пожалуйста, проверьте изображение здесь:

enter image description here

Проблема заключается в том, что пользователь нажимает на поле «Создать сообщение». Edittext, кнопки отправки / сохранения / отмены скрыты программной клавиатурой.

Есть идеи, как сделать эти кнопки всегда видимыми?Спасибо.

[EDIT] Наконец-то все решено! Пришлось использовать Linearlayout вместо RelativeLayout и назначить правильный параметр layout_weight.Большое спасибо Femi за указание на то, что кнопки должны находиться за пределами ScrollView.

Вот окончательный рабочий макет 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"><ScrollView android:layout_alignParentTop="true" 
    android:layout_weight="1"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <RelativeLayout 
        android:id="@+id/InnerRelativeLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" >
        <EditText 
            android:id="@+id/editTextCompose" 
            android:layout_width="fill_parent"
            android:layout_height="200dp"
            android:gravity="top"
            android:singleLine="false" android:lines="5"
            android:inputType="text"
            android:layout_below="@+id/editTextSubject"
            >
        </EditText>
    </RelativeLayout>
</ScrollView><TableLayout android:id="@+id/recipeButtons" 
    android:background="#B0B0B0" android:padding="3dip" 
    android:stretchColumns="0,1" android:layout_alignParentBottom="true" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <TableRow android:gravity="center"> 
        <Button android:id="@+id/editOtherAdditionButton" 
            android:text="Save" /> 
        <Button android:id="@+id/removeOtherAdditionButton" 
            android:text="Delete" /> 
    </TableRow> 
</TableLayout></LinearLayout>

Ответы [ 2 ]

0 голосов
/ 23 мая 2011

Есть еще один вопрос об этом здесь , но похоже, что лучший подход - это использование windowSoftInputMode

0 голосов
/ 23 мая 2011

Как указано в ответе @ mayra на Программная клавиатура Android покрывает поле edittext , вы должны увидеть http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft для подробностей управления.

Изменение записи Активности в AndroidManifest на adjustResize, если я так думаю.

...