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. -
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)
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.
Ajoutez ce mode de saisie dans votre fichier manifeste.
Android:windowSoftInputMode="stateHidden|adjustResize"
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.
Reportez-vous à ceci pour choisir le mode approprié pour votre écran https://developer.Android.com/guide/topics/manifest/activity-element.html#wsoft
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 ..
Faites la racine de votre vue
<ScrollView
Android:layout_width="match_parent"
Android:layout_height="match_parent">
...
</ScrollView>
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>