Ход кнопки экранной клавиатуры в Android
Я разработал нижеприведенный макет в соответствии с таким количеством решений, предоставляемых everywhere.
Я также установил android:windowSoftInputMode="adjustResize|stateVisible" в файле манифеста.
Тем не менее я не могу получить кнопки изображения линейной компоновки над мягкой клавиатурой. Может ли кто-нибудь указать мне, что не так с этим макетом?
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:id="@+id/crbox_layout" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="> <ScrollView android:id="@+id/scrollView" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@+id/m_table_menu"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <EditText android:id="@+id/new_box_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:hint="Title" android:inputType="textPersonName" /> <EditText android:id="@+id/new_box_descri" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Description" android:gravity="top" android:inputType="textCapSentences|textMultiLine" android:lines="5" android:windowSoftInputMode="stateAlwaysVisible" /> </LinearLayout> </ScrollView> <LinearLayout android:id="@+id/m_table_menu" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_alignParentBottom="true"> <ImageButton android:id="@+id/cameraButton" android:layout_width="wrap_content" android:layout_height="40dp" android:layout_weight="1" android:background="@android:color/white" android:contentDescription="Open Camera" app:srcCompat="@drawable/ic_box_camera_icon" /> <ImageButton android:id="@+id/galleryButton" android:layout_width="wrap_content" android:layout_height="40dp" android:layout_weight="1" android:background="@android:color/white" android:contentDescription="Choose Image" app:srcCompat="@drawable/ic_box_image_icon" /> <ImageButton android:id="@+id/imageButton" android:layout_width="wrap_content" android:layout_height="40dp" android:layout_weight="1" android:background="@android:color/white" android:contentDescription="Choose Color" app:srcCompat="@drawable/ic_box_color_icon" /> </LinearLayout> </RelativeLayout>
Что я уже пробовал:
Я попытался заменить нижеприведенный LinearLayout на TableLayout, но все равно не помог.
David Crow
Вы имеете в виду программную клавиатуру, которая видна, когда либо new_box_title
или new_box_descri
есть ли фокус?
Кроме того, в вашем макете, похоже, отсутствуют некоторые кавычки (например,, orientation
элемент в системе RelativeLayout
). Как это вообще компилируется?
Yesudass Moses
да
David Crow
Должно быть, здесь что-то не так. Мягкая клавиатура требует нижней части экрана. Он будет сдвигать все вверх, пока не будет достаточно места для него, чтобы поместиться. Я попробовал ваш код макета в эмуляторе:
Скриншот
Там должно быть достаточно места.
У меня не было доступа к вашим трем чертежам, поэтому я просто выбрал три случайных: доля, день и календарь.