Подтвердить что ты не робот

Android-клавиатура скрывает EditText

Когда я пытаюсь что-то написать в EditText, который находится внизу экрана, программная клавиатура скрывает EditText. Как я могу решить эту проблему? Ниже мой код XML. Я использую это во фрагменте.

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >


        <LinearLayout
            android:id="@+id/linearLayoutTopDetails"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/linearLayoutTop"
            android:layout_marginLeft="6dp"
            android:layout_marginRight="6dp"
            android:layout_marginTop="6dp"
            android:orientation="vertical" >

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/list_design1"
                android:orientation="vertical" >

                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="80dp"
                    android:layout_weight="100"
                    android:orientation="horizontal" >

                    <ImageView
                        android:id="@+id/ImageViewProfImagePostDetail"
                        android:layout_width="0dp"
                        android:layout_height="fill_parent"
                        android:layout_marginTop="2dp"
                        android:layout_weight="24.84"
                        android:paddingLeft="5dp"
                        android:paddingRight="5dp"
                        android:paddingTop="5dp" />

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="60"
                        android:orientation="vertical" >

                        <TextView
                            android:id="@+id/textViewNamePostDetail"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="Robin"
                            android:textSize="17sp" />

                        <TextView
                            android:id="@+id/textViewLocationPostDetail"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="1dp"
                            android:drawableLeft="@drawable/location"
                            android:text="beijing, China" />

                        <TextView
                            android:id="@+id/textViewTimeAgoPostDetail"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text=" 18min ago" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="fill_parent"
                        android:layout_weight="15"
                        android:orientation="horizontal" >

                        <TextView
                            android:id="@+id/textViewReportAbusePostDetail"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:background="@drawable/flag"
                            android:paddingLeft="5dp" />

                        <TextView
                            android:id="@+id/textViewDeletePostDetail"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:layout_marginLeft="15dp"
                            android:background="@drawable/delete"
                            android:visibility="gone" />
                    </LinearLayout>
                </LinearLayout>

                <TextView
                    android:id="@+id/textViewDescriptionPostDetail"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="20dp"
                    android:layout_marginTop="2dp"
                    android:singleLine="false"
                    android:text="Description or caption of the post"
                    android:textSize="17sp" />
            </LinearLayout>

            <ImageView
                android:id="@+id/feedPostedImagePostDetail"
                android:layout_width="fill_parent"
                android:layout_height="200dp"
                android:layout_marginTop="5dp"
                android:scaleType="fitCenter"
                android:visibility="gone" />

            <LinearLayout
                android:id="@+id/linearLayoutOptions"
                android:layout_width="fill_parent"
                android:layout_height="33dp"
                android:layout_marginTop="2dp"
                android:layout_weight="100"
                android:background="@drawable/bar"
                android:orientation="horizontal" >

                <TextView
                    android:id="@+id/textViewShakePostDetail"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_marginLeft="15dp"
                    android:layout_weight="25"
                    android:drawableLeft="@drawable/like"
                    android:gravity="center"
                    android:singleLine="true"
                    android:text="Shake"
                    android:textSize="12sp" />

                <TextView
                    android:id="@+id/textViewCommentPostDetail"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="41"
                    android:drawableLeft="@drawable/comment"
                    android:gravity="center"
                    android:paddingLeft="20dp"
                    android:text="Comment" />

                <TextView
                    android:id="@+id/textViewSharePostDetail"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="33"
                    android:drawableLeft="@drawable/share"
                    android:gravity="center"
                    android:paddingLeft="20dp"
                    android:text="Spread" />
            </LinearLayout>
        </LinearLayout>

        <ListView
            android:id="@+id/listViewFeedsDetail1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/linearLayoutTopDetails"
            android:layout_marginBottom="4dp"
            android:layout_marginLeft="6dp"
            android:layout_marginRight="6dp"
            android:layout_marginTop="6dp" >
        </ListView>

        <LinearLayout
            android:id="@+id/linearLayoutPostcomment"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/listViewFeedsDetail1"
            android:background="#FFFFFF"
            android:orientation="horizontal"
            android:weightSum="100" >

            <EditText
                android:id="@+id/editTextComment"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="80" />

            <Button
                android:id="@+id/buttonPostComment"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="20"
                android:background="#F0F8FF"
                android:text="Post" >
            </Button>
        </LinearLayout>
    </RelativeLayout>
</ScrollView>

Я пытался решить эту проблему, добавляя изменения с помощью кода, но безуспешно.

Ниже приведено изображение до и после нажатия на EditText.

screenshot without soft keyboard, EditText visible

screenshot with soft keyboard, EditText hidden

4b9b3361

Ответ 1

В вашем манифесте положите это в свою первичную деятельность:

 android:windowSoftInputMode="adjustPan" 

Ответ 2

Для этого вам нужно объявить в своей деятельности manifeast

         <activity
            android:name=".activityname"
            android:label="@string/app_name"
            android:windowSoftInputMode="adjustPan|adjustResize" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

Ответ 3

Объявить windowSoftInputMode = "adjustResize" в файле manifest.xml

<activity
        android:name=".example"
        android:theme="@style/AppTheme.NoActionBar"
        android:windowSoftInputMode="adjustResize" />

обеспечивает просмотр прокрутки в файле макета xml

<RelativeLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto"
         xmlns:tools="http://schemas.android.com/tools"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:paddingBottom="16dp"
         android:paddingLeft="16dp"
         android:paddingRight="16dp"
         android:paddingTop="16dp"
         android:fitsSystemWindows="true">

<ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true"
        android:isScrollContainer="false">

   // add edittext here...

 </ScrollView>
 </RelativeLayout>

Ответ 4

Вот простое решение для Android EditText проблемы сокрытия SoftKeypad. Используйте код в файле AndroidManifest.xml модуля проекта.

<activity
        android:name="com.example.MainActivity"
        android:label="@string/activity_main"
        android:windowSoftInputMode="adjustResize|stateHidden" />

Этот код работал у меня.
Внутри файла манифеста в теге активности добавьте этот атрибут:

android:windowSoftInputMode="adjustResize|stateHidden"

Таких значений для этого атрибута (android:windowSoftInputMode) больше, чем список рекомендаций. Вы также можете проверить их.

Ответ 5

Используйте приведенный ниже код, где:

InputMethodManager ipmm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                ipmm.hideSoftInputFromWindow(url.getWindowToken(), 0);

где url в моем коде:

url = (EditText) findViewById(R.id.eT_webbrowser);

или попробуйте следующее:

InputMethodManager ipmm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                    ipmm.hideSoftInputFromWindow(null, 0);

В качестве еще одной опции попробуйте это: Это всегда скрывает режим мягкого ввода, чтобы ваш EditText был виден

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

Ответ 6

Решением для меня было просто добавить это в родительский макет: андроид: fitsSystemWindows = "истина"

Ответ 8

В свой AndroidManifest.xml добавьте adjustPane в тег активности

<activity android:name=".LoginActivity"
          android:windowSoftInputMode="adjustPan"/>