How to implement two "views" in android softkeyboard - android

I managed to create a simple qwerty android keyboard with a tutorial
I just edited the layout to be a qwerty keyboard. now I want to add a second keyboard "view" with around 50 Unicode characters and have an option in the keyboard to switch between the "views" using a button. This is similar to the qwerty and symbols view of the default softkeyboards.
I found this online but I am not sure how to use that (how to get the imeToken, should I somehow initialize both layouts first, I basically don't have any idea how to start)

Related

how to initialize android text keyboard starting from numpad

I need to open android text keyboard that starts from numpad. I would like to access both numpad and alphabetical characters in same keyboard like android:inputType="text". But, I want to see numpad part first (like in picture) when keyboard opened.
As far as I know, there is no InputType option that obtain this result.
I found this answer that shows how to use privateImeOptions to change soft keyboard settings but couldn't find further information.
Is there any way to achieve this?
Thanks

Custom Keys to Android default keyboard

I am trying to add some custom keys to the soft keyboard (like a new row of specialized keys on top of the existing keyboard)
I assume the only way would be to get a reference to that keyboard. I know it's possible to get the size of the keyboard (using ViewTreeObserver), but I can't find a way to get the actual keyboard object.
Also, I can add a custom keyboard, but there are a few things that makes everything a bit more complicated, like switching from alphanumeric to special characters and also Shift behaviour. So that's why I'd prefer adding the keys to the existing keyboard, if possible.
Can anyone confirm that's possible? Or that it's not possible?
Thanks a lot!

How to enter special characters in an EditText in Android?

Is there any way to input special characters (which are not present in the default soft keyboard ,eg. theta) in an Android EditText?
Thanks..
Well as per your need, I would like to suggest to create a custom keyboard because the stock keyboard which comes with the device may not have the special characters you need.
You can refer the following tutorial to create a custom keyboard
http://www.fampennings.nl/maarten/android/09keyboard/index.htm
or you can see this search result which may serve your purpose,
https://github.com/search?q=android+custom+keyboard&ref=cmdform
And from below site you can get the list of Unicode characters which Android supports,
http://en.wikipedia.org/wiki/List_of_Unicode_characters
http://unicode-table.com/en/#0026
Note: Writing the whole code to create a custom keyboard is beyond the scope of this answer, so I mentioned the reference link.
What you are going to do is to create a custom keyboard. First thing you want is to hide the default keyboard when an EditText is focused:
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Now, you must create a custom layout (RelativeLayout or Multiple LinearLayouts this is your desire), create and set text to the buttons that you want to show. Make this keyboard view setVisibility(View.INVISIBLE) or setVisibility(View.GONE), and whenever your EditText is focused, make it setVisibility(View.VISIBLE).
After keyboard is visible, programming the rest is up to you it is practically easy.
If you also need a guide, here is an example.

android soft keyboard modifications

Is there a way to programmatically remove certain keys from the standard software keyboard. By setting some of the input type flags I am so close to having the keyboard I need. From the calling application is there a way to modify the keyboard directly. I know how to make my own custom keyboard but it seems such a waste to remove one button from the standard one.
////// edit///////
I think I found a way around this if any one has tried this method please let me know if it worked for you.
I have going to grab the softKeyboard service and using the start hook the keyboard uses to grab its view object inflate my own and swap them.
From my research there is no way to implement your own custom keyboard from within a single application. If you want to have a custom keyboard you need to create one from scratch and can not use the IME
soft keyboard comes for edit text. you can modify the softkeyboard for that edit text.
For that you need to set inputType and imeOption property of that edit text.

android app specific soft keyboard

Is there a way to create an app specific soft keyboard on Android? After reading about InputMethodService docs and checking out alternative keyboard apps out there, I figure the alternate keyboard can only be configured for system wide usage (through Settings -> Locale and Text).
If the answer to above question is no, then is there at least a way to load a custom dictionary and override the default dictionary of the system keyboard (only when my app is in use)? That will help in giving very relevant suggestions to the user when he has only tapped couple of keys.
If you just want a View that looks and acts like a soft keyboard, I did that in my SmallKeyboard class. You just need to extend android.inputmethodservice.KeyboardView and decide on layout. See the onKey and onText methods at the end of that file for the action taken when keys are pressed.
Instead of my keyboard model inner class, you could load it from XML if your key set is fairly constant.
The Android Nethack application has a complete and clear source code example of how to create a custom keyboard for an application, how to display it on screen and how to define multiple keyboard layouts. It contains pretty much everything you need to know.
It is by far the best example I have seen.
http://code.google.com/p/nethack-android/

Categories

Resources