I have two keyboard installed- Swype and samsung. Is there any way I can force Android to show samsung keyboard on my EditText no matter what my setting is ??
Also is there a filter where I can disable text prediction??
Thank you.
You can set edittext widget's inputType for what you want like below
You can read more here
http://developer.android.com/resources/articles/on-screen-inputs.html
There is a long list of available preferences here
http://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType
Related
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
I want to show this keyboard by default on EditText focus:
These actions didn't help:
inputType=number
inputTYpe=phone
numeric=integer
setRawInputType(...)
How should I do it?
That old problem still not solved. There's no way to show numeric keyboard with option of switching back.
This question discussed here Is there a way to show the numbers first on the soft keyboard for Android?
try to use this in java:
editText.setInputType(InputType.TYPE_CLASS_TEXT);
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
There's no way to achieve this. Even if your input method includes such a key panel, it's up to the keyboard "author". More importantly, the "even if" is even not guaranteed.
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.
I have some edit boxes in my app, some of them I will input English text, some of them I will input Spanish.
I'm using the standard android soft keyboard, however as my device locale is set to English, when I type Spanish in one of my "Spanish" edit boxes, the English corrective text/predictive text makes this difficult.
The only workaround I've found, is to go into the device settings and change the language over, but this is quite annoying.
Is there anyway I could have some kind of button, that when clicked would dynamically change the soft keyboards language setting? Is this exposed via any Intents?
Regards
Try to slide your finger across the spacebar on your keyboard to change languages.
Is there anyway I could have some kind of button, that when clicked would dynamically change the soft keyboards language setting? Is this exposed via any Intents?
No, sorry.
However, you can use textNoSuggestions with your android:inputType attribute on the EditText to try to get rid of the suggestions.
In the main phone settings you can choose input languages and then you can swipe the space bar to switch.
I have an activity with one EditText where I need to input numbers only.
Now, I have defined the Input Type for my EditText to be number only and have drawn up a pretty keypad for my user to use, however I also need to make sure the soft keyboard doesn't pop up for my user when they click on the EditText.
I have tried hiding the keyboard through the manifest by adding
android:windowSoftInputMode="stateAlwaysHidden"
in my Manifest for the particular activity, but this doesn't work for me because as soon as the user clicks on the EditText the keyboard appears again.
I've tried doing the same programmatically like so
activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
but that doesn't work either. Keyboard appears when the user clicks on the EditText.
The only thing that worked was setting InputType to null for the EditText like so:
EditText.setInputType(InputType.TYPE_NULL);
but I cannot use this because it will allow users who have a keyboard attached to their device to input letters and other symbols in the EditText field, while I want everyone to specifically use only the keypad to enter data in the field.
I should also mention that I am currently testing my app under android 2.1, but I would like my solution to work across all versions. Any help would be appreciated. Thanks in advance.
Just thought it might be possible to extend EditText and handle the access to the softkeyboard through there and came across this question which has a very elegant solution to my problem.
Just followed the steps and this handled the softkeyboard perfectly for me. Hope it helps others that come across this issue.
In Whichever Edittext you need to disable the soft keyboard, add attribute in xml of that edit text.
<EditText android:id=".."
..
android:focusable="false" />
It will stop the execution of soft keyboard.
Use the android:windowSoftInputMode="stateHidden" in your activity in manifest file. This will work. Don't use the android:focusable="false" for EditText unless if you are not willing to input the text. If you want to give input then remove that property for the edittext in the layout file.
You can try this. It is working for me:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
If you are using for example ViewGroup it allows you to block the soft keyboard using this method:
view.setDescendantFocusability(view.FOCUS_BLOCK_DESCENDANTS);
Thanks to this the view will get focus before any of its descendants.
you can use This Code:
<EditText
.
.
android:enabled="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:inputType="numberPassword" />