make my form in Android goes up when keyboard appear - android

I'm having a problem with my login form, it consists of username, password, and submit button. But when I touch my username EditText, the keyboard shows and it covers up my password and submit button.
Then I change my manifest to
android:windowSoftInputMode="adjustResize|stateHidden"
The whole form is now goes up, but my layout becomes resized and it doesn't look good. So, can I control how much my layout will go up, when I use adjustPan?

Try setting
android:layout_weight="1" for the all the
texts and buttons used..It may work.

Related

Trying not to show the buttons showing when I click in one of the EditText of the form

I'm working on an Android app with Android Studio. I have a form with several field and 2 buttons at the bottom to either validate or going back. The problem is that as soon as I click in one of the EditText of the form, the 2 buttons are following the keyboard.
How to prevent these 2 buttons to show up and force them to stay at the bottom of the page, hidden behind the keyboard. The form is in a ScrollView, which is in a ConstraintLayout. I tried many things like having my 2 buttons in the ConstraintLayout. Also outside in a RelativeLayout with constraint at the bottom of the parent... I also tried to use LinearLayout instead of the ConstraintLayout and weight each component but the buttons are still there. The only way I found is to use a vertical LinearLayout without weighting the components. But then I have the problem of not seeing the buttons if the screen is too small. I would like buttons to stay at the bottom.
Is it normal? Do I have to fix it from the code by hiding the buttons when focusing on one of the TextEdit, or by the layouts?
The other thing is that if I click on the last field ("Ville"), the form doesn't move and I still see the first 2 lines...
Thanks a lot for your help
On your manifest.xml you can set android:windowSoftInputMode to adjustPan.
<activity
android:name=".MainActivity"
android:windowSoftInputMode="adjustPan" />
From Android documentation:
Don't resize the window to make room for the soft input area; instead
pan the contents of the window as focus moves inside of it so that the
user can see what they are typing. This is generally less desireable
than panning because the user may need to close the input area to get
at and interact with parts of the window

How to show form on button click?

I am making an android app where the user fills up a form. The client wants that out of many of the fields of the form, The user should see the compulsory fields first and then if the user wants then he/she should click on a button named as "More Fields (Optional)" and as soon as he clicks the button the button should disappear and then the user should see the other fields laid out one after the other.
The form looks like this now
I have already tried setting the visibility of the edit Text to invisible, but the problem is that even if the text fields are invisible they take up most part of the screen.
I have been scrolling through the android forums but i got no hint as to how i can achieve it.
It worked, I set the visibility to Gone and then everything happened as it was supposed to be.

Scroll to position in recyclerview when keyboard opens

Problem:
I have an edittext as a password field in a viewholderin a recyclerview. If the user clicks on it, the keyboard will appear below it.
Below the password field is a textview that gives feedback if the password the user has entered is valid. But this textview is not visible, because it is hidden because of the softkeyboard. Only after closing the softkeyboard, it is visible and he will see if the password he entered is correct.
Question:
Is there a way to let the softkeyboard scroll below the textview when the edittext is clicked or is there another way to make the password feedback visible to the user?
I would just put it in a scrollview. Then add bottom padding to the height of the soft board
In this case you have a recycler view. There is a Nested scrollview
but without seeing your code I cannot recommend it. You can also add padding to the recyclerviews last element with the passwords for the same effect. But this design is starting to sound funky.. Maybe its time to break this into its own fragment / activity?
That said this SO looks like your solution
What you're looking for is the Activity's windowSoftInputMode
attribute. You set this in your AndroidManifest.xml file, and give it
a value such as:
adjustResize: "The activity's main window is always resized to make
room for the soft keyboard on screen."
adjustPan: "The activity's main window is not resized to make room for
the soft keyboard. Rather, the contents of the window are
automatically panned so that the current focus is never obscured by
the keyboard and users can always see what they are typing. This is
generally less desirable than resizing, because the user may need to
close the soft keyboard to get at and interact with obscured parts of
the window." adjustResize will probably work for you, as long as you
wrap the layout in a ScrollView. It may have negative effects if you
have a bitmap image in the background, as it will be resized as well,
in which case you may want to use adjustPan instead.
or
More information
is available at the above link.

Hide view when showing keyboard

I have two EditText views and one ImageView. My goal is to hide the ImageView when i am showing the keyboard (When the user have clicked on one of the EditText fields)
Then show the imageView again when the user have unfocused the EditText field or the keyboard is not visible anymore.
I have tried tons of different ways to do this. But nothing really works as intended. Do you guys have any idea how i could achieve this
Have you tried to detect if the keyboard is opened ? How do I Detect if Software Keyboard is Visible on Android Device?
Make debug and when is opened try to hide image . imageview.setvisibility (GONE)
if it does not work you can try to change layout
Make 2 layouts and switch visibility if the keyboard is open /closed
You can add a OnFocusChangeListener to the EditText,when you click the EditText,it will get focus,and then you can hide the ImageView.
<activity android:name="SearchResultsActivity"
android:windowSoftInputMode="adjustPan"/>
adjustPan:
The activity’s main window is not resized to make room for the soft keyboard. Rather, the contents of the window are automatically panned so that the current focus is never obscured by the keyboard and users can always see what they are typing. This is generally less desirable than resizing, because the user may need to close the soft keyboard to get at and interact with obscured parts of the window.
regards! :)
You can do one thing, place UIView-> UIImageView -> UITextfield1-> UITextField2.Handle the UIImageView hiding state in textfield delegates which are Begin and End editing delegate methods

How to move my edittext up when stkeyboard is on

I have created a login page. If I insert some text in edit text (username, password) etc then a softkeyboard is visible. but it comes on my password field view. So upper half of password field is visible while lower half is not because of that softkeyboard. I want when the softkeyboard is visible the password field to move up a little, so that the entire edittext will be visible.
Thanks
add this line in your menifest.xml file
<activity android:name=".your_activity" android:windowSoftInputMode="adjustResize"></activity>
Your layout should shift up automatically when it has focus and the softkeyboard is displaying. I have a login form and I've done nothing special to get this behaviour.
One way you can solve this is by having a ScrollView as the root of your layout.

Categories

Resources