B4A Tutorial Handle the soft keyboard with the IME library - Erel    
Aug 30, 2026   
(31 reactions)Android has very good support for custom input method editors (IMEs).
The downside for... example demonstrates the available methods.
156404
Note that the IME object should be initialized...
link: Example updated:
- targetSdkVersion = 36 with #EdgeToEdgeOldDevices: True...
link: - targetSdkVersion set to 35 and edge to edge feature is disabled: https://www.b4x.com/android/forum...
link: The example was updated and is now based on B4XPages. Note that additional code in the Main module (...
B4A Question IME - Activity does not scroll automatically - LucaMs    
Nov 7, 2024 down.
ime.Show(EditText4) shows the virtual keyboard but the Activity is not automatically moved up...
link: necessary ("working" on ime_HeightChanged, ftf_FocusChanged (ftf = event name...
link: Manfest and without IME. But, as usual, it was not for me and on the device of another B4X member...
link: I've just tried the IME example: https://www.b4x.com/android/forum/threads/handle-the-soft...
B4A Library IME2 Library - agraham    
Aug 21, 2020   
(20 reactions) with the soft keyboard open.
The problem stems from trying to use the IME library HeightChanged event... so the IME.HeightChanged event uses a bit of a hack. to detect this. The problem that I have found... some devices it works well, others produce poor results.
The IME2 library provides some extra...-device-is-rotated-with-ime-open.121234/#post-758036
It is worth trying that first to see if it works for... the IME2 library.
It is a strict superset of the original IME library but includes the following...
B4A Question B4A v13.7 IME unsupported with SDK 36. Is it IME Bug? - mcqueccu    
Aug 11, 2026I forgot left this code in my app after testing whether my app update is edge to edge compliant and I got true
Dim ime As IME
ime.Initialize("ime")
Log(ime.IsEdgeToEdge)
When I uploaded it to the Play console, the Edge to Edge warning was not removed because GooglePlay says it still...
link: and I got true
Dim ime As IME
ime.Initialize("ime")
Log(ime.IsEdgeToEdge)
When I uploaded...
link: Ignore it. It is a wrong warning related to the detection of a deprecated but valid method. It will be changed with the next update t...
Other B4A v13.7 BETA - targetSdkVersion = 36 + Edge to Edge - Erel    
Jul 30, 2026   
(33 reactions), you can adapt the code from the default template:
Sub Globals
Private ime As IME
Private root As B4XView
End Sub
Sub Activity_Create(FirstTime As Boolean)
ime.Initialize("ime")
root = xui.CreatePanel("")
Dim Content As Rect = ime.GetContentRect
Activity.AddView(root, Content.Left, Content.Top, Content.Width, Content.Height)
ime.UpdatePercentageReference(root... that the IME library was updated with features related to this mode. The handling of keyboard height changes...
Wish Updated B4J, im using JDK_V25.0.2 - Peter Simpson    
Sep 15, 2026   
(2 reactions)PLEASE NOTE: This is not linked to my previous bug issue, that code is being compiled using OpenJDK 19.
Hello Erel,
We has this issu...
link: Hello Peter
All my project are working perfectly fine and have done so since about May this year whilst using the filepath to JDK_V2...
link: You can force using the version you want with this
#JavaCompilerPath: 21, C:\Java\jdk-21\bin\javac.exe
Of course modify to suite your...
B4A Question customlistview height weird after IME_HeightChanged - leitor79    
Jun 29, 2018Hi,
I can't manage to set the correct height/position for a customlistview (x1.54) after the soft keyboard is open (b4a 8.3).
With the keyboard closed, if I add panels to the customlistview, the last one is opened outside the screen, even if I use ScrollToItem or JumpToItem.
With the keyboard opened, the bottom panels (outside the clv) covers the last panel of the clv. Maybe an animation could help.
My IME_HeightChanged event:
pnlMain.Height = NewHeight 'the main panel...
Bug? Layout corrupted if device is rotated with IME open - agraham    
Aug 15, 2020 is well. Now tap on the EditText to open the IME and rotate the device with the IME open, whether from... Galaxy A3 (Android 8.0) all is well. The IME closes, the layout redraws correctly and the IME remains... the IME re-opens and the layout is not as expected - presumably because the IME is interfering... Keyboard Pro, etc) for the portrait to landscape rotation with the IME open but the landscape to portrait rotation with IME open seems to always be the same. I may be missing the blindingly obvious...
Bug? IME broken at targetSDKVersion 35 and 36 - JackKirk    
Aug 10, 2025I use IME in a non-B4XPages B4a app.
I currently have the targetSdkVersion set to 36 in this app.
IME is no longer working.
After a lot of mucking around I dug up the old non-B4XPages IME example...
link: See the first search result: https://www.b4x.com/android/forum/pages/results/?query=targetsdkversion...
link: Erel, thanks for that, adding:
CreateResourceFromFile(Macro, Themes.LightTheme)
to my Manifest so...
link: No bug here.
1. targetSdkVersion should be 35.
2. You are missing the theme settings. The manifest...
B4A Question [SOLVED] IME_HeightChanged event : What's missing? - Brian Dean    
Feb 19, 2020 As EditText
Dim IME As IME
End Sub
Sub Activity_Create(FirstTime As Boolean)
IME.Initialize("IME")
test.Initialize("test")
test.Color = Colors.DarkGray
test...
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Private Sub IME_HeightChanged (NewHeight As Int, OldHeight As Int)
Log("IME_HeightChanged")
End Sub
My manifest is the default... and enter text the keyboard appears but the IME_HeightChanged event does not fire. Why not?...
Page: 1  
2  
3  
4  
5  
6  
7