Can i add custom keyboard to the core keyboard? - android

Hey this is a simple question but i can't seem to find an answer for it.
I'm intrested in creating something like a smilies keyboard to be added to the native keyboard so a person can add them in emails/SMS etc.
Now i guess i can edit the OS itself and add it to keyboard, but i was wondering if i can attach to the event that opens the keyboard and edit it?
Again, i'm NOT intrested in a custom keyboard inside my app, i want while my app is open (if possible without, better) to change the regular keyboard.
Is this possible?

i was wondering if i can attach to the event that opens the keyboard and edit it?
No, sorry. That is a different application than yours; you cannot change it at runtime.
You are welcome to build your own input method editor and use that, though. Or, perhaps you could make a contribution to some existing open source input method editor project.

Related

Creating custom android keyboard NOT from scratch (modify system keyboard)

What I need is to add a custom key to android keyboard. I know I can implement my own keyboard but implementing all the functionalities (dictionary, swipe, microphone button etc) sounds like a lot of work. I see two solutions:
modify system keyboard (I expect it not to be possible, but it's
sometimes good to ask :))
create my own keyboard but somehow deriving it from existing one
Is any of these possible? Any other ideas?
After an investigation, answers are:
not possible
not possible
:)

How to programatically change keyboard language to Arabic?

I'm working on an Android app that needs to take input in Arabic whenever the User taps on an EditText view. So how do I change the keyboard language programatically or ask the User to do so?
I conducted extensive research and found out that it can be done via:
a) creating a custom Arabic keyboard,
b) using the IME manager to prompt the user to change input method by calling showInputMethodPicker(),
c) using the IME manager to change input method by calling setInputMethod.
of these, (c) is only workable for System apps, and (a) requires a lot of time (which I currently don't have), and (b) requires the user to manually enable it.
Is there absolutely ANY simple and workable way to accomplish this? Any external API that I could use or anything at all?
https://www.codeproject.com/Questions/996415/ceate-custom-arabic-keyboard-for-android
Above link can help you.For getting above required feature you need to make custom keyboard Arabic then open that keyboard when you type in edit text.

Custom or Virtual Keyboard on Android

I wish to create my own custom keyboard on android. It seems the below project on google code project should be able to achieve this. But to extension to this what I also want to add is ability to handle browser events when user is using custom keyboard. ie if user clicks on browser address bar or any text box on the page opened I should be able to determine that as well? Is there a way possible?
http://code.google.com/p/android-misc-widgets/source/checkout
Thanks,
nil
I'm not sure what your question is, but I think you are asking how to create a keyboard that is used when the user clicks on textfields in other apps. Is that right?
If you want to create your own virtual keyboard then you should definitely start by reading the Android IME Docs they are really good and even provide code for a example keyboard that you can download.

changing sound/click on soft keyboard - android

I need some help with a project i'm doing. Hopefully someone can help me :)
I need to change the sound or click the keyboard makes whenever i'm typing in an editText. I need the sound/click to be whatever sound i may prefer (in wave-, mp3- or whatever format).
So, a couple of questions:
Can i change this in the already implemented keyboard?
Or should i make my own keyboard?
if the latter is the case, how do i do that? Can i find the source code somewhere?
I have been looking at other questions regarding how to make your own keyboard. e.g. How do I make my own keyboard for an app in android?
And if i have to make my own keyboard i want to look like this. But how to do it?
Can i change this in the already implemented keyboard?
You can't... it's already built and some manufactures provide their own keyboard implementations.
Or should i make my own keyboard?
Yes, you must.
If the latter is the case, how do i do that? Can i find the source code somewhere?
There are some open source projects of Keyboard implementations... for instance:
https://github.com/g1011999/Gingerbread-Keyboard/
http://code.google.com/p/softkeyboard/
There you can learn how to write your own keyboard, which is completely different from writing a conventional app.
My suggestion is to create a new fork of the Gingerbread-Keyboard (this supports Android 2.2 or higher only)... and then implement that specific change you want. For one of my apps I did so, and it's far easier than implementing the keyboard from scratch.

Custom 'Keyboard' built in an application on Android

I've been looking to create a custom keyboard for my application. At first, I started to look at the SoftKeyboard for the SDK examples, but reading the Android Developer Group led me to this post:
This is really not how the input
method framework is supposed to work.
An IME should be a generic input
facility, not for a particular
application. If you need some
app-specific input, you should build
it into your UI rather than pushing
it out to a generic IME.
How do I build an app-specific input within the UI? I mean, is there a way to extend the Keyboard app or something and use it only in my application?
Features needed for the keyboard:
Shift key to display some other keys
Special keys like square root or PI
etc.
PS: an ugly solution could be to make a table of ImageButton for example, but I wanted to make something clean.
I'm not really sure if there's a straight-forward solution to this (to that extent that it is even possible to understand the real reason behind the original question).
As is quoted in the original question:
If you need some app-specific input, you should build it into your UI
rather than pushing it out to a generic IME.
What is meant by that, is not that you within your app should try to build in such input features by extending or modifying the soft keyboard on the phone. There are so many different soft keyboards (and basically, the soft keyboard is just another app), since most phone manufacturers create their own version, and people download 3rd party keyboards (such as Swype or SwiftKey etc.), and I can't picture there being a way for you to "hack" into those to add a few buttons or whatever it is you want (which could also be a major security hole, another reason why it probably isn't possible).
What instead the above quote suggests, is that you have to create some other form of input besides the keyboard. One such example, and a very good one if I might add, is how the RealCalc Scientific Calculator looks:
Now this isn't open source, so I can only guess how the code looks like (but it shouldn't be too hard a guess either): in its simplest form, this is just a grid with lots of buttons. Each button handles the onClick event, which would mean performing some kind of action (changing the label on some other buttons, showing a menu, displaying some text in the upper label or whatever), and that's probably pretty much what's to it. And of course, the phone's soft keyboard is never displayed (since you don't need a keyboard with all those buttons (and also there aren't any input fields to write anything in)).
It all boils down to the already mentioned quote: If you need some app-specific input, you should build it into your UI. Or in other words: create buttons (and don't display the soft keyboard if you don't need it) and make things happen when you click them.
And just to have mentioned it: if you do want to create your own IME (which I strongly believe is not the case here), you should have a look at the following resources:
Onscreen Input Methods
Creating an Input Method
Soft Keyboard sample
In my humble opinion you should take a look at the beginning of reference about keyboard and keyboard view http://developer.android.com/reference/android/inputmethodservice/Keyboard.html and http://developer.android.com/reference/android/inputmethodservice/KeyboardView.html.
There you can see an example of defining keyboard using XML file. I think that this is what you are looking for.
As mentioned by #sebap123
Keyboard and KeyboardView class are the one you need to use,
Further, for Implementation, here is a quick detailed guide.

Categories

Resources