Проблема с мягкой клавиатурой, которая скрывает некоторые поля - PullRequest
0 голосов
/ 28 февраля 2019

У меня проблема, когда клавиатура открыта и скрывает текст редактирования и кнопку, а прокрутки нет.Я искал в Интернете и нашел какое-то решение, например добавление в AndroidManifest.xml android:windowSoftInputMode="stateHidden|adjustResize", ScrollView сверху (из Login_Activity.xml) или даже fillViewport="true", но ни одно из них не работает для меня.

Iна моей активности TabLayout, а в TabLayout у меня есть Login_Fragment.xml, и в нем есть поля editText.Вот мой код:

Манифест:

        <activity
        android:name="com.ideomobile.common.ui.custom.WebViewActivity"
        android:configChanges="orientation|keyboardHidden"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:screenOrientation="portrait" />

Login_Activity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical"
android:weightSum="10">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="2"
    android:background="@color/BackgroundColor"
    android:layoutDirection="rtl"
    android:orientation="horizontal">

    <ImageButton
        android:id="@+id/imageButton_Info"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_gravity="right|center_vertical"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:background="@drawable/info_button"
        android:clickable="true"
        android:paddingRight="10dp" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_gravity="center"
        android:background="@drawable/logo" />
</RelativeLayout>

<android.support.design.widget.TabLayout

    android:id="@+id/sliding_tabs"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_gravity="bottom"
    android:layout_weight="1.5"
    android:background="@color/BackgroundColor"
    android:layoutDirection="rtl"
    android:textColor="@color/finger_print_blue"
    app:tabBackground="@drawable/tab_indicator_color"
    app:tabGravity="fill"
    app:tabIndicatorColor="@color/popups_blue_background"
    app:tabIndicatorFullWidth="false"
    app:tabMode="fixed" />


<android.support.v4.view.ViewPager
    android:id="@+id/viewpager"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_gravity="fill"
    android:layout_marginBottom="0dp"
    android:layout_weight="6.5"
    android:background="@android:color/white"
    android:paddingBottom="0dp" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:background="@color/white"
    android:gravity="center|bottom"
    android:orientation="vertical">

    <Button
        android:id="@+id/buttonLogin"
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:layout_gravity="center_horizontal|center"
        android:background="@color/login_button_disable"
        android:enabled="false"
        android:text="@string/login_button"
        android:textAlignment="center"
        android:textColor="@color/BackgroundColor"
        android:textSize="11pt"
        android:textStyle="bold" />

</LinearLayout>

Login_Fragment.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/BackgroundColor"
android:orientation="vertical"
android:textDirection="rtl">

<LinearLayout
    android:id="@+id/lines_for_finger_print"
    android:layout_width="match_parent"
    android:layout_height="80dp"
    android:gravity="center"
    android:orientation="vertical">

    <TextView
        android:id="@+id/finger_print_firat_line"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_marginTop="20dp"
        android:gravity="center"
        android:text="@string/add_fingerprint_title_line_1"
        android:textColor="@color/finger_print_blue"
        android:textSize="11pt"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/finger_print_second_line"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:gravity="center"
        android:text="@string/add_finger_print_title_line_2"
        android:textColor="@color/text_login_fields"
        android:textSize="8pt" />
</LinearLayout>

<EditText
    android:id="@+id/editTextUserName"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:layout_margin="20dp"
    android:background="@drawable/edit_text_border"
    android:cursorVisible="false"
    android:digits="@string/fingerprint_digits_allows"
    android:gravity="right|center_vertical"
    android:hint="@string/user_name"
    android:imeOptions="actionNext"
    android:inputType="text"
    android:textColor="@color/text_login_fields"
    android:textColorHint="@color/text_login_fields"
    android:textSize="11pt"
    android:singleLine="true"/>

<EditText
    android:id="@+id/editTextPassword"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:background="@drawable/edit_text_border"
    android:digits="@string/fingerprint_digits_allows"
    android:gravity="right|center_vertical"
    android:hint="@string/user_password"
    android:imeOptions="actionNext"
    android:inputType="textPassword"
    android:paddingRight="20dp"
    android:textColorHint="@color/text_login_fields"
    android:textSize="11pt"
    android:singleLine="true"/>


<TextView
    android:id="@+id/textViewforgotPassword"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:gravity="center"
    android:linksClickable="true"
    android:text="@string/link_forgot_password"
    android:textAlignment="center"
    android:textColor="@color/finger_print_blue"
    android:textSize="7pt" />

Нужно отметить, что нет необходимости прокручивать, когда нет клавиатуры.Только при открытой клавиатуре должна быть возможность прокрутки.

Можете ли вы помочь мне решить ее?

1 Ответ

0 голосов
/ 28 февраля 2019

Попробуйте с windowSoftInputMode

  <application
        android:hardwareAccelerated="true"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:windowSoftInputMode="adjustPan"
        android:theme="@style/AppTheme">
    <activity android:name=".Activity.LoginActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    </application>
...