Reputation: 10344
I am developing one android app in two different languages. When user click on "Change language" button it ask to choose language from two different languages option and change keyboard according to that language.
For example : User choose "Arabic" language then keyboard input language should automatically change from English to Arabic.
Please help me to resolve this issue.
Upvotes: 19
Views: 26810
Reputation: 385
(API 24+): If you are using a TextView
/EditText
, then you can call TextView#setImeHintLocales(LocaleList)
textView.setImeHintLocales(new LocaleList(new Locale("zh", "CN")));
Note: If you want new "hint" to take effect immediately you need to call InputMethodManager#restartInput(View)
.
Upvotes: 6
Reputation: 401
This isn't really that possible. You can change the users locale using a number of solutions present on stackoverflow already:
Here for example, or here for another.
However, this will only change the locale. The problem you will encounter is that the keyboard is itself an application. Therefore, you cannot change it directly from your app, nor can you guarantee that your user will have the "Arabic" charset or addon or whatever, for they keyboard app that they employ.
Your only real and reliable solution if you wish to accomplish what you need would be to create your own keyboard input. Otherwise, it will be in the user's hands to change their keyboard to Arabic.
Upvotes: 9