У меня есть приложение для Android-андроида, которое использует EditText. Когда пользователи начнут вводить текст редактирования, я хочу, чтобы у них была возможность выйти из клавиатуры с помощью кнопки «Готово» или перейти к следующей строке с помощью кнопки «Возврат». Я не могу найти способ заставить клавиатуру включать как готовые, так и обратные кнопки. Если есть способ сделать это, это будет здорово.Как использовать оба варианта «Возврат» и «Готово» в Android-клавиатуре
Я знаю, что одним из способов сделать это может быть добавление верхней границы клавиатуры с помощью кнопки «Готово». Я также исследовал это, и я не могу понять, как сделать верхнюю границу, когда клавиатура становится видимой. Если это лучший способ сделать это, я хотел бы знать, как это сделать. Мне удалось сделать границы уже на экране с изменением размера с помощью клавиатуры с помощью adjustResize, но я хочу, чтобы граница существовала только в том случае, если клавиатура видна. Вот где я застрял.
Вот мои взгляды:
<?xml version="1.0" encoding="utf-8"?>
<!--
The main EditText that covers the entire activity.
It is attached to the LinedEditor class which
gives it the "notepad" look.
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="fill_parent">
<view
class = "com.patrickslagle.notepad.NewNote$LinedEditor"
android:id="@+id/note"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/yellow"
android:scrollbars="vertical"
android:fadingEdge="vertical"
android:gravity="top"
android:textSize="22sp"
android:textColor="@color/black"
android:paddingLeft="60dp"
android:paddingStart="60dp"
android:paddingTop= "25dp"
android:textCursorDrawable="@drawable/cursor"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<include layout="@layout/bottom_border"
android:layout_width="match_parent"
android:layout_height="44dp"
android:id="@+id/bottom_border"
android:layout_alignBottom="@+id/note"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
И моя текущая нижняя граница:
<!--
The bottom menu bar where the user chooses actions.
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/bottom_border"
android:layout_width="match_parent"
android:layout_height="30dp"
android:orientation="horizontal"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:background="@color/yellow"
android:layout_marginLeft="0dp"
android:layout_marginRight="0dp"
android:layout_marginBottom="0dp">
<ImageButton
android:contentDescription="@string/delete_button"
android:layout_width="45dp"
android:layout_height="45dp"
android:id="@+id/delete"
android:src="@drawable/ic_delete_24dp"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/bullets"
android:layout_toEndOf="@id/bullets"
android:padding="7dp"
android:layout_margin="0dp"
android:background="@color/yellow" />
<ImageButton
android:contentDescription="@string/save_button"
android:layout_width="45dp"
android:layout_height="45dp"
android:id="@+id/save"
android:src="@drawable/ic_save_24dp"
android:padding="7dp"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/mail"
android:layout_toStartOf="@+id/mail"
android:background="@color/yellow" />
<ImageButton
android:contentDescription="@string/menu_desc"
android:layout_width="45dp"
android:layout_height="45dp"
android:id="@+id/menu"
android:src="@drawable/ic_menu_24dp"
android:padding="7dp"
android:layout_margin="0dp"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/save"
android:layout_toStartOf="@+id/save"
android:background="@color/yellow" />
<ImageButton
android:contentDescription="@string/bullet"
android:layout_width="45dp"
android:layout_height="45dp"
android:id="@+id/bullets"
android:src="@drawable/ic_format_list_bulleted_24dp"
android:padding="7dp"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/mail"
android:layout_toEndOf="@+id/mail"
android:background="@color/yellow" />
<ImageButton
android:contentDescription="@string/mail_symbol"
android:layout_width="45dp"
android:layout_height="45dp"
android:id="@+id/mail"
android:src="@drawable/ic_email_24dp"
android:padding="7dp"
android:layout_centerHorizontal="true"
android:background="@color/yellow" />
<ImageButton
android:contentDescription="@string/clear"
android:layout_width="45dp"
android:layout_height="45dp"
android:id="@+id/clear_note"
android:src="@drawable/ic_clear_24dp"
android:padding="7dp"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:background="@color/yellow" />
</RelativeLayout>
Вот скриншот моего приложения, если это поможет:
Вы также можете скрыть клавиатуру, когда пользователь прикасается к клавиатуре, а не нажав кнопку. –