B4A Library [B4X] SD CustomKeyboard

Star-Dust

Expert
Licensed User
Longtime User
for now you can select any font you like, even awesome.
 

Star-Dust

Expert
Licensed User
Longtime User
Keyboard located at the top right
Add sample here

 
Last edited:

Gabino A. de la Gala

Active Member
Licensed User
Longtime User
¿What about to can addRowStringToKey like +1, +10. +100, +1000 and to put the result of the successive additions to the textfield?
 

Star-Dust

Expert
Licensed User
Longtime User
¿What about to can addRowStringToKey like +1, +10. +100, +1000 and to put the result of the successive additions to the textfield?
No, lo que me pediste es tener Claves que ingresen varios caracteres en lugar de uno solo. Me imagino una caja registradora similar que puede llegar a 00 o 000 seguidos para completar un recibo
_____________________________________
No, what you asked me is to have Keys that enter multiple characters instead of just one. I imagine similar cash register that can hit 00 or 000 in a row to fill out a receipt
 

Gabino A. de la Gala

Active Member
Licensed User
Longtime User
Yes, it is something similar to that. But instead of adding zeros at the end, what it does is a calculation so that if you click on the buttons: +1000+100+1+1, the result is: 1102.
 

Star-Dust

Expert
Licensed User
Longtime User
The idea sounds nice but it would turn a keyboard into a calculator. You don't need to implement it on the keyboard, just implement it inside the TextChange event
 

Star-Dust

Expert
Licensed User
Longtime User
update rel 1.05
  • Added Vibration option in design
 

Star-Dust

Expert
Licensed User
Longtime User
Update 1.06
  • Add new Key: EraseAll. Delete all text in the field
  • Added: LightFactor and DarkFactor property
NB. Use SD_CreativeBackground 1.05+ (update the library if necessary)
 
Last edited:

Star-Dust

Expert
Licensed User
Longtime User
The iOS version has also been released. You can download it from the post #1
 

Lello1964

Well-Known Member
Licensed User
Longtime User
I am using the keyboard for Android and it is very comfortable especially because I can size it, customize it and place it wherever I want. It is a library that many will surely use after trying it. Thanks SD.
 

Star-Dust

Expert
Licensed User
Longtime User
Update 0.07
  • Now the special keys are created with the MaterialIcons font. Remember to load the font by selecting this command:
    B4X:
    SD_Keyboard1.SpecialKeyFont = xui.CreateMaterialIcons(16)
  • It will be possible to change the font of the special characters and the text of the characters
  • We have updated all the examples with the addition of the MaterialIcons font and added all the missing iOs examples

There will be other news in the coming days .....
 

Zoran Vujacic

Member
Licensed User
Is there a way to use this keyboard as the default on Android (input methods, such as gboard ...)? For my huge fingers, such a possibility would be phenomenal
Thanks anyway!
I noticed that the graphic animation of pressing the button reacts only when the button is released (Android).
 

Star-Dust

Expert
Licensed User
Longtime User
I don't know if there is a method to make it default on Android. But I'm still developing it, if I find a way I'll post an example.
 

joko0124

Member
Licensed User
Longtime User
HI! I've tried your library and within your samples, I am getting this error when I am tapping any keys from your Custom Keyboard:



sd_keyboard$ResumableSub_Key_Pressresume (java line: 758)
 

Star-Dust

Expert
Licensed User
Longtime User
I am working on the possibility of adding custom keys such as those of the cash registers.
For example, those to select the DEPARTMENT (REP.1, REP.2) and consequently the related VAT category




Custom background
 
Last edited:

joko0124

Member
Licensed User
Longtime User
Please post logs as text not images. You can right click on the log pane to copy the text.
** Activity (main) Resume **
Focus1: true
sd_keyboard$ResumableSub_Key_Pressresume (java line: 758)
java.lang.NoSuchMethodError: No virtual method getSelectionStart()I in class Lanywheresoftware/b4a/objects/B4XViewWrapper; or its super classes (declaration of 'anywheresoftware.b4a.objects.B4XViewWrapper' appears in /data/app/b4a.example-2/base.apk)
at b4a.example.sd_keyboard$ResumableSub_Key_Press.resume(sd_keyboard.java:758)
at b4a.example.sd_keyboard._key_press(sd_keyboard.java:722)
at b4a.example.sd_keyboard._keypress_click(sd_keyboard.java:1454)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:193)
at anywheresoftware.b4a.objects.ViewWrapper$1.onClick(ViewWrapper.java:80)
at android.view.View.performClick(View.java:5619)
at android.view.View$PerformClick.run(View.java:22298)
at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:165)
at android.app.ActivityThread.main(ActivityThread.java:6375)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
sd_keyboard$ResumableSub_Key_Pressresume (java line: 758)
java.lang.NoSuchMethodError: No virtual method getSelectionStart()I in class Lanywheresoftware/b4a/objects/B4XViewWrapper; or its super classes (declaration of 'anywheresoftware.b4a.objects.B4XViewWrapper' appears in /data/app/b4a.example-2/base.apk)
at b4a.example.sd_keyboard$ResumableSub_Key_Press.resume(sd_keyboard.java:758)
at b4a.example.sd_keyboard._key_press(sd_keyboard.java:722)
at b4a.example.sd_keyboard._keypress_click(sd_keyboard.java:1454)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:193)
at anywheresoftware.b4a.objects.ViewWrapper$1.onClick(ViewWrapper.java:80)
at android.view.View.performClick(View.java:5619)
at android.view.View$PerformClick.run(View.java:22298)
at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:165)
at android.app.ActivityThread.main(ActivityThread.java:6375)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
 

Star-Dust

Expert
Licensed User
Longtime User
It is not clear what that could be. Because it is looking for the start of the cursor in a View which is not an EditText or TextField but a panel.

Are you sure you haven't changed the original source?
Are you using the latest version of B4a?
 
Last edited:

joko0124

Member
Licensed User
Longtime User
It is not clear what that could be. Because it is looking for the start of the cursor in a View which is not an EditText or TextField but a panel.

Are you sure you haven't changed the original source?
Are you using the latest version of B4a?
Yes, I'm sure that I am using the original source however I am not using the latest B4A version for I am having a problem with my original program when upgrading to version 11. And honestly, I am looking for this library for so long. Maybe you can help me? I am still using V10.0
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…