Ok I have noticed in the android softkeyboard when the user wants to send a smiley when the user prompts to a insert smiley a list of andriod smileys appear for the user to choose from Ive noticed that beside the smiley is a 🙂 ( it varies depending on mood of smiley) Im thinking the code for that would read
<Key
android:keylabel:=":)"
android:keyOutputText="@drawable/image...." />
Im believing ( correct me if im wrong) if the uses manually types in a 🙂 the drawable image will still appear?? Am I correct or No… Secondly If I add my own emoticons and instead of using the 🙂 I use “*” as the Keylabel and my own image as the drawable outputtext would the user be able to use my emoticon?
Lastly, what if I only want for them to be able to select one of my emoticons to use without seeing the “*“..can I just use the android:KeyoutputText to produce the image or is the android:keylabel acting as a sort of prompt??
First, keyOutputText cannot refer to a drawable. It has to be text, a string.
Your emoticon will not appear in the text box (SMS box, or wherever you are typing) unless it is one of the built in smileys for that app. Otherwise, they’ll only see something like this: “=)”. To test it, try sending “:-)” in SMS (depending on your SMS app it may or may not show up as an icon) and in a Google search box. I guarantee you that you won’t see an icon in the search box.
Note: you’ll probably want to have defined android:keyIcon for your keys so they show the icon of the smiley rather than the output text (i.e. “=)”, see android:keyOutputText).
To answer your question, if the user manually types in “:)” this is identical to the user pressing a key that has android:keyOutputText=”:)”.
For the second question, your “emoticon” will actually just end up being a key that sends multiple characters in a row. It saves people from having to type ‘:’,’-‘,’)’. Instead they just hit one key and the three characters for their smiley appear.
For the last question, keyOutputText can’t produce an image. Only the app that is displaying the text can convert the text to an image. In short, the keyboard is meant for sending and editing text, not icons and images.
Send me an email if you have any more questions: I’ve been writing a soft keyboard for Android for almost half a year now so I’m pretty familiar with how touch input works.