EditText с верхним / нижним layou_margin был закрыт программным вводом

У меня есть поле редактирования, которое содержит текст редактирования и кнопку в LinearLayout, как показано ниже:

 <LinearLayout
            android:id="@+id/et_bottom"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#e5e5e5"
            android:gravity="center_vertical"
            android:orientation="horizontal" 
           >

            <EditText
                android:id="@+id/write_comment"
                android:layout_width="0dp"
                android:layout_height="30.5dp"
                android:layout_marginBottom="10.5dp"
                android:layout_marginLeft="5.5dp"
                android:layout_marginTop="10.5dp"
                android:layout_weight="2.0"
                android:background="@drawable/input_box_03"
                android:hint="@string/saysomething"
                android:paddingLeft="5dp"
                android:textColorHint="@color/font_gray"
                android:textSize="@dimen/login_edittext_font_size" />

            <TextView
                android:id="@+id/send_comment"
                android:layout_width="52dp"
                android:layout_height="29.5dp"
                android:layout_marginLeft="8.5dp"
                android:layout_marginRight="5.5dp"
                android:background="@drawable/box"
                android:clickable="true"
                android:focusable="true"
                android:focusableInTouchMode="true"
                android:gravity="center"
                android:text="@string/send"
                android:textColor="@color/font_color_white" />
   </LinearLayout>

LineraLayout находится в RelativeLayout, который соответствует размеру windowScreen, и я установил WindowInputSoftMode = "AdjustResize". Однако, когда отображается программная клавиатура, нижняя часть LinearLayout частично закрывается программной клавиатурой. Не знаю почему и как?

2 ответа

Я обнаружил, что проблема в настройках FullScreen для окна через getWindow(). SetFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FILL_FULLSCREEN);. Когда он установлен, клавиатура должна перемещать содержимое макета в более высокое положение, а верхняя часть клавиатуры должна прикрепляться к нижней части курсора.

Более конкретно, когда второй параметр установлен для FILL_PARENT, проблем нет. Если вы не хотите извлекать содержимое макета, просто используйте FrameLayout и установите windowInputSoftMode ="AdjustResize".

Попробуйте использовать

android:windowSoftInputMode="stateVisible|adjustResize"
Другие вопросы по тегам