web-dev-qa-db-fra.com

android faisant en sorte que la disposition puisse défiler lorsque le clavier logiciel est ouvert, mais sans la déplacer vers le haut

Ceci est mon écran, avec un bouton caché derrière le clavier.

Je veux exactement comme ça, mais il est possible de le faire défiler. - 

 keyboard open with one button hidden behind

Chaque fois que le clavier est ouvert, je veux lui donner le même aspect que dans l'image. Mais, au lieu de le faire défiler, afin que l'utilisateur puisse faire défiler pour afficher la partie inférieure de l'écran (bouton y compris), même lorsque le clavier est ouvert.

J'ai essayé -

Android:windowSoftInputMode="adjustResize"

mais, cela déplace la partie inférieure vers le haut, chaque fois que le clavier est ouvert.

comme dans cette image - 

Je ne veux pas cela - (décale le bouton Create Account vers le haut lorsque le clavier est ouvert)

 enter image description here

Le bouton CREATE ACCOUNT doit être visible après le défilement.

Voici la mise en page - 

<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"

    Android:layout_width="match_parent"
    Android:layout_height="match_parent"

    Android:id="@+id/root_layout"
    Android:fillViewport="true"

    >
    <LinearLayout
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        Android:orientation="vertical"

        Android:weightSum="10"

        >
        <LinearLayout  Android:layout_width="match_parent"
            Android:layout_height="0dp"
            Android:layout_weight="9"
            Android:orientation="vertical"
            Android:gravity="center_vertical|center_horizontal"
            Android:paddingLeft="@dimen/activity_horizontal_margin"
            Android:paddingRight="@dimen/activity_horizontal_margin"
            Android:paddingTop="@dimen/activity_vertical_margin"
            Android:paddingBottom="@dimen/activity_vertical_margin">

            <LinearLayout
                Android:layout_width="match_parent"
                Android:layout_height="wrap_content"
                Android:layout_gravity="center_vertical"
                Android:orientation="vertical">


                <EditText
                    Android:id="@+id/et_username_or_email"
                    Android:layout_width="match_parent"
                    Android:layout_height="wrap_content"
                    Android:hint="@string/et_hint_username_or_email"
                    Android:inputType="textEmailAddress"
                    Android:singleLine="true"
                    />
                <EditText
                    Android:id="@+id/et_pswd"
                    Android:layout_width="match_parent"
                    Android:layout_height="wrap_content"
                    Android:hint="@string/et_hint_password"
                    Android:password="true"
                    Android:singleLine="true"
                    />

                <Button
                    Android:id="@+id/btn_sign_in"
                    Android:layout_marginTop="10dp"
                    Android:layout_width="match_parent"
                    Android:layout_height="wrap_content"
                    Android:text="@string/btn_sign_in"
                    Android:background="@color/lighter_orange"
                    Android:textColor="@Android:color/white"/>

                <TextView
                    Android:layout_marginTop="10dp"
                    Android:layout_width="match_parent"
                    Android:layout_height="wrap_content"
                    Android:text="@string/or"
                    Android:gravity="center_horizontal"
                    Android:textColor="@Android:color/black"/>


                <Button
                    Android:id="@+id/btn_take_a_peek"
                    Android:layout_marginTop="10dp"
                    Android:layout_width="match_parent"
                    Android:layout_height="wrap_content"
                    Android:text="@string/btn_take_a_peek"
                    Android:textColor="@Android:color/white"
                    Android:background="@color/button_gray"/>

                <TextView
                    Android:layout_marginTop="15dp"
                    Android:layout_width="match_parent"
                    Android:layout_height="wrap_content"
                    Android:text="@string/forgot_password"
                    Android:gravity="center_horizontal"
                    Android:textColor="@color/text_gray"/>
            </LinearLayout>
        </LinearLayout>
        <LinearLayout  Android:layout_width="match_parent"
            Android:layout_height="0dp"
            Android:layout_weight="1"
            Android:orientation="vertical">


            <Button
                Android:id="@+id/btn_create_account"
                Android:layout_width="match_parent"
                Android:layout_height="match_parent"
                Android:text="@string/btn_create_account"
                Android:background="@color/button_very_light_orange"
                Android:textColor="@Android:color/white"/>


        </LinearLayout>
    </LinearLayout>
</ScrollView>

S'il vous plaît aidez-moi à arranger ça.

12
NarendraJi

Ajoutez ce mode de saisie dans votre fichier manifeste.

Android:windowSoftInputMode="stateHidden|adjustResize"
6
Lalit Sharma

J'ai eu le même problème et l'ai résolu.

Ajoutez ceci à votre classe dans les balises <activity> du manifeste AndroidManifest de votre classe:

Android:windowSoftInputMode="stateHidden|adjustResize">

ou:

<activity
        Android:name="com.app.app.RegisterScreen"
        Android:parentActivityName="com.app.app.LogInScreen"
        Android:windowSoftInputMode="stateHidden|adjustPan">

    </activity>

Exemple:

<activity
        Android:name="com.app.yourapp.LogInScreen"
        Android:windowSoftInputMode="stateHidden|adjustPan">

</activity>

Cela fonctionne pour moi.

4
korunos

Reportez-vous à ceci pour choisir le mode approprié pour votre écran https://developer.Android.com/guide/topics/manifest/activity-element.html#wsoft

0
Mudit Dangi

J'ai essayé votre code et j'ai aussi le même problème Ici

Ici je fais quelques corrections dans votre code et les valeurs étaient des codes en tant que mannequins (chaînes, couleurs ect) ... L'extrait de code est:

<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/root_layout"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:fillViewport="true" >

<RelativeLayout
    Android:layout_width="match_parent"
    Android:layout_height="match_parent" >

    <LinearLayout
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        Android:gravity="center_vertical|center_horizontal"
        Android:orientation="vertical"
        Android:padding="10dp" >

        <LinearLayout
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:layout_gravity="center_vertical"
            Android:orientation="vertical" >

            <EditText
                Android:id="@+id/et_username_or_email"
                Android:layout_width="match_parent"
                Android:layout_height="wrap_content"
                Android:hint="HAI"
                Android:inputType="textEmailAddress"
                Android:singleLine="true" />

            <EditText
                Android:id="@+id/et_pswd"
                Android:layout_width="match_parent"
                Android:layout_height="wrap_content"
                Android:hint="HH"
                Android:password="true"
                Android:singleLine="true" />

            <Button
                Android:id="@+id/btn_sign_in"
                Android:layout_width="match_parent"
                Android:layout_height="wrap_content"
                Android:layout_marginTop="10dp"
                Android:background="#5465"
                Android:text="sigin"
                Android:textColor="@Android:color/white" />

            <TextView
                Android:layout_width="match_parent"
                Android:layout_height="wrap_content"
                Android:layout_marginTop="10dp"
                Android:gravity="center_horizontal"
                Android:text="ORR"
                Android:textColor="@Android:color/black" />

            <Button
                Android:id="@+id/btn_take_a_peek"
                Android:layout_width="match_parent"
                Android:layout_height="wrap_content"
                Android:layout_marginTop="10dp"
                Android:background="#ff8f43"
                Android:text="sfse"
                Android:textColor="@Android:color/white" />

            <TextView
                Android:layout_width="match_parent"
                Android:layout_height="wrap_content"
                Android:layout_marginTop="15dp"
                Android:gravity="center_horizontal"
                Android:text="Forgot"
                Android:textColor="#ec0974" />
        </LinearLayout>
    </LinearLayout>

    <Button
        Android:id="@+id/btn_create_account"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:layout_alignParentBottom="true"
        Android:background="#ffd250"
        Android:text="Create Accounr"
        Android:textColor="@Android:color/white" />
</RelativeLayout>
 </ScrollView>

Définissez également le paramètre ci-dessous en fonction de votre activité dans votre manifeste.

Android: windowSoftInputMode = "adjustPan"

** Edité comme dans la couche externe de la vue est Mise en page relative dans une vue à défilement et j'ai géré le bouton Créer un compte en tant que parent en bas.

S'il vous plaît essayez-le dans un appareil réel.

Essayez ceci et donnez votre avis !! Happy Coding ..

0
Joyal

Faites la racine de votre vue 

<ScrollView
    Android:layout_width="match_parent"
    Android:layout_height="match_parent">

    ...

</ScrollView>
0
bendaf

J'espère que cela vous sera utile. J'ai déjà conçu ce type de mise en page. Je n'ai pas édité votre mise en page.

<?xml version="1.0" encoding="utf-8"?>
 <ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
 xmlns:app="http://schemas.Android.com/apk/res/com.clearfly.groupfone"
 Android:id="@+id/registration_view"
 Android:layout_width="fill_parent"
 Android:layout_height="fill_parent"
 Android:background="@Android:color/white"
 Android:fillViewport="true"
 Android:orientation="vertical" >

<LinearLayout
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:background="@Android:color/white"
    Android:orientation="vertical" >

    <LinearLayout
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        Android:layout_marginBottom="@dimen/activity_horizontal_margin"
        Android:orientation="vertical"
        Android:weightSum="1" >

        <LinearLayout
            Android:layout_width="fill_parent"
            Android:layout_height="0dp"
            Android:layout_marginTop="40dp"
            Android:layout_weight="0.4"
            Android:gravity="center"
            Android:orientation="vertical" >

            <ImageView
                Android:id="@+id/ivProfilePicture"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_gravity="center_horizontal"
                Android:src="@drawable/ic_launcher" >
            </ImageView>
        </LinearLayout>

        <LinearLayout
            Android:layout_width="fill_parent"
            Android:layout_height="0dp"
            Android:layout_marginTop="20dp"
            Android:layout_weight="0.6"
            Android:orientation="vertical"
            Android:weightSum="1" >

            <LinearLayout
                Android:layout_width="match_parent"
                Android:layout_height="0dp"
                Android:layout_marginLeft="20dp"
                Android:layout_marginRight="20dp"
                Android:layout_weight="0.2"
                Android:orientation="vertical" >

                <EditText
                    Android:id="@+id/firstname_edit"
                    Android:layout_width="match_parent"
                    Android:layout_height="wrap_content"
                    Android:cursorVisible="true"
                    Android:hint="First Name"
                    Android:inputType="textCapWords|textPersonName|textNoSuggestions"
                    Android:maxLength="50"
                    Android:paddingLeft="40dp"
                    Android:singleLine="true"
                    Android:textColor="@Android:color/black"
                     />
            </LinearLayout>

            <LinearLayout
                Android:layout_width="match_parent"
                Android:layout_height="0dp"
                Android:layout_marginLeft="20dp"
                Android:layout_marginRight="20dp"
                Android:layout_weight="0.2"
                Android:orientation="vertical" >

                <EditText
                    Android:id="@+id/lastname_edit"
                    Android:layout_width="match_parent"
                    Android:layout_height="wrap_content"
                    Android:layout_marginTop="20dp"
                    Android:cursorVisible="true"
                    Android:hint="Last Name"
                    Android:inputType="textCapWords|textPersonName|textNoSuggestions"
                    Android:maxLength="50"
                    Android:paddingLeft="40dp"
                    Android:singleLine="true"
                    Android:textColor="@Android:color/black"
                     />
            </LinearLayout>

            <LinearLayout
                Android:layout_width="match_parent"
                Android:layout_height="0dp"
                Android:layout_marginLeft="20dp"
                Android:layout_marginRight="20dp"
                Android:layout_weight="0.2"
                Android:orientation="vertical" >

                <EditText
                    Android:id="@+id/email_edit"
                    Android:layout_width="match_parent"
                    Android:layout_height="wrap_content"
                    Android:layout_marginTop="20dp"
                    Android:cursorVisible="true"
                    Android:hint="email"
                    Android:inputType="textEmailAddress"
                    Android:maxLength="255"
                    Android:paddingLeft="40dp"
                    Android:singleLine="true"
                    Android:textColor="@Android:color/black"
                     />
            </LinearLayout>

            <LinearLayout
                Android:layout_width="match_parent"
                Android:layout_height="0dp"
                Android:layout_marginLeft="20dp"
                Android:layout_marginRight="20dp"
                Android:layout_weight="0.2"
                Android:orientation="vertical" >

                <EditText
                    Android:id="@+id/password_edit"
                    Android:layout_width="match_parent"
                    Android:layout_height="wrap_content"
                    Android:layout_marginTop="20dp"
                    Android:cursorVisible="true"
                    Android:hint="Password"
                    Android:inputType="textPassword"
                    Android:maxLength="20"
                    Android:paddingLeft="40dp"
                    Android:singleLine="true"
                    Android:textColor="@Android:color/black"
                    />
            </LinearLayout>

            <LinearLayout
                Android:layout_width="match_parent"
                Android:layout_height="0dp"
                Android:layout_marginLeft="20dp"
                Android:layout_marginRight="20dp"
                Android:layout_weight="0.2"
                Android:orientation="vertical" >

                <EditText
                    Android:id="@+id/verify_password_edit"
                    Android:layout_width="match_parent"
                    Android:layout_height="wrap_content"
                    Android:layout_marginTop="20dp"
                    Android:cursorVisible="true"
                    Android:hint="Verify pwd"
                    Android:inputType="textPassword"
                    Android:maxLength="20"
                    Android:paddingLeft="40dp"
                    Android:singleLine="true"
                    Android:textColor="@Android:color/black"/>
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
  </LinearLayout>
</ScrollView>
0
Ajit Kumar Dubey