Панель инструментов Android перемещается вверх, когда показ клавиш

У меня проблема с программной клавиатурой в моем проекте.

У меня есть экран чата с одним EditText, списком просмотра и кнопкой отправки в моей Activity.When всякий раз, когда Edittext получает фокус, он перемещается вверх по панели инструментов и макету.

Мне нужно исправить панель инструментов и макет при отображении клавиатуры.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"

android:orientation="vertical">

<RelativeLayout
    android:id="@+id/relheader"
    android:layout_width="fill_parent"
    android:layout_height="58dp"
    android:background="@color/blue"
    android:gravity="center"
    android:isScrollContainer="false">

    <android.support.v7.widget.Toolbar
        android:id="@+id/customtoolbar_back"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:minHeight="?attr/actionBarSize"
        android:weightSum="1">

        <TextView
            android:id="@+id/idtextheaderprojectchatwithprivatemessage"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Messages"
            android:textColor="@color/white"
            android:textSize="20dp"
            android:textStyle="bold" />
    </android.support.v7.widget.Toolbar>
</RelativeLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp"
    android:layout_weight="75"
    android:orientation="vertical">


    <ListView
        android:id="@+id/listViewwallpage"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/relfb"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:cacheColorHint="@android:color/transparent"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp"
        android:fadingEdge="none"
        android:listSelector="@android:color/transparent"
        android:overScrollMode="never" />

</LinearLayout>

<RelativeLayout
    android:id="@+id/relfb"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_gravity="right"
    android:layout_marginTop="5dp"
    android:background="@drawable/edittext_top_line"
    android:minHeight="42dp"
    android:paddingBottom="5dp"
    android:paddingTop="5dp">

    <EditText
        android:id="@+id/edtserach"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="5dp"
        android:layout_toLeftOf="@+id/lin"
        android:background="@drawable/greyedittext_background"
        android:hint="Type something..."
        android:inputType="textMultiLine"
        android:maxLength="160"
        android:singleLine="true"
        android:textColor="#000000" />

    <LinearLayout
        android:id="@+id/lin"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:orientation="vertical">

        <TextView
            android:id="@+id/tvtextcount"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:gravity="center_horizontal"
            android:hint=""
            android:textSize="12sp"
            android:visibility="gone" />

        <Button
            android:id="@+id/btnsend"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:background="@android:color/transparent"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:text="Send"
            android:textAllCaps="false"
            android:textColor="@color/blue"
            android:textSize="18sp"
            android:textStyle="bold" />
    </LinearLayout>
</RelativeLayout>

У меня есть Relativelayout для панели инструментов и Linearlayout для просмотра списка. Какие-либо предложения?

4 ответа

Я думаю, что вы включили android:windowSoftInputMode="adjustResize" или же android:windowSoftInputMode="adjustPan" в вашем манифесте для деятельности.

Удалите строки, если вы добавили его в свой манифест.

В вашем AndroidManifest.xlm в задействованной активности положите:

android:windowSoftInputMode="adjustResize" 

Проверьте свой манифест для вашего Activity, Возможно, вам придется перенастроить способы обработки методов ввода. Смотрите эту документацию.

Укажите, как должен реагировать ваш пользовательский интерфейс

Когда метод ввода отображается на экране, он уменьшает объем пространства, доступного для пользовательского интерфейса вашего приложения. Система принимает решение о том, как она должна корректировать видимую часть вашего пользовательского интерфейса, но она может сделать это неправильно. Чтобы обеспечить наилучшее поведение вашего приложения, вы должны указать, как система должна отображать ваш пользовательский интерфейс в оставшемся пространстве.

В манифесте:

андроид:windowSoftInputMode="stateAlwaysHidden"

Добавьте к соответствующему тегу активности.

Измените панель инструментов, как показано ниже:

<?xml version="1.0" encoding="utf-8"?>

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/apptool_bar_bg"
    android:minHeight="?attr/actionBarSize"
    app:layout_scrollFlags="scroll|enterAlways|snap"
    android:theme="@style/AppTheme.Toolbar"
    app:titleTextAppearance="@style/AppTheme.Toolbar.Title"></android.support.v7.widget.Toolbar>
Другие вопросы по тегам