web-dev-qa-db-fra.com

Android Clavier masque EditText

Lorsque j'essaie d'écrire quelque chose dans un EditText qui se trouve en bas de l'écran, le clavier virtuel masque le EditText. Comment puis-je résoudre ce problème? Voici mon code xml. J'utilise ceci dans un fragment.

<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>

J'ai essayé de résoudre ce problème en ajoutant des modifications via le code, mais sans succès.

Ci-dessous, l'image avant et après avoir cliqué sur EditText.

screenshot without soft keyboard, EditText visible

screenshot with soft keyboard, EditText hidden

38
Robin Royal

Dans votre manifeste, mettez ceci dans votre activité perticulaire:

 Android:windowSoftInputMode="adjustPan" 
58
Kishan

Pour cela, vous devez déclarer dans votre manifestation d'activité

         <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>
15
user3734100

Déclarez windowSoftInputMode = "adjustResize" dans le fichier manifest.xml

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

fournir une vue de défilement au fichier de disposition 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
Kishor N R

Voici ( solution simple pour problème Android EditText de se cacher derrière SoftKeypad. Utilisez le code dans le fichier AndroidManifest.xml du module de projet.

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

Ce code a fonctionné pour moi.
À l'intérieur du fichier manifeste dans la balise d'activité, ajoutez cet attribut:

Android:windowSoftInputMode="adjustResize|stateHidden"

Il existe d'autres valeurs de ce type pour cet attribut (Android:windowSoftInputMode) qui viendra comme liste de recommandations. Vous pouvez également vérifier avec eux.

4
Rahul Raina

Utilisez le code ci-dessous où:

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

où l'URL dans mon code est:

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

ou essayez ceci:

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

Comme autre option, essayez ceci: Cela masque toujours le mode de saisie logicielle de sorte que votre EditText est visible

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
2
Ramakishna Balla

La solution pour moi consistait simplement à l'ajouter à la disposition parent: Android: fitsSystemWindows = "true"

1
Hichem Laroussi

Dans votre AndroidManifest.xml ajoutez adjustPane dans la balise d'activité

<activity Android:name=".LoginActivity"
          Android:windowSoftInputMode="adjustPan"/>
0
Nelson Guest

Cela semble être un bogue dans Android lorsque le mode adjustPan est défini

Essayez cette EditText personnalisée avec solution de contournement pour ce problème

https://Gist.github.com/Arjun-sna/768de4ca141798c59a8166a2e5d4a74

0
arjun