Articles of android input method

如何判断input法选取器是打开还是closures?

我的应用程序用InputMethodManager.showInputMethodPicker()打开input法选取器(您select键盘的菜单InputMethodManager.showInputMethodPicker() 。 我的应用程序实际上并没有创buildselect器(它由InputMethodManager创build),但是我知道它是一个ContextMenu ,它的ID是R.id.switchInputMethod 。 拾取器是多步向导的一部分,所以我需要知道拾取器何时closures,以便我的应用程序可以继续下一步。 现在我正在后台线程检查,如果默认的键盘改变, 但是这并没有帮助,如果用户select相同的键盘或按下。 所以我需要一种方式来告诉我什么时候closuresselect器(或者其他一些聪明的方法来知道什么时候进行)。 提前致谢…

Android键盘布局语言

为android编写一个字典应用程序。 想要根据当前的input语言(更确切地说,软键盘上显示的字母的语言)来设置翻译方向。 例如,我们有语言对英语 – 法语。 我想要的是,当用户input英文字母(英文键盘布局显示)的翻译方向是笔直的,而当键盘布局变为法文时,翻译方向也变为倒立。 所以,问题是:是否有任何事件在androidinput法框架,它允许跟踪这种布局的变化。 如果没有,也许有一些标准的技巧来做我所需要的? 在此先感谢,亚历克斯

Android:如何从IME中设置首选的键盘视图模式

我正在开发一个android IME ,我希望我的键盘只能“平移和扫描”和“resize”模式,而不是“全屏”模式(至于这里的解释),或者至less要求更改“resize”模式。 我知道有一种方法可以从EditText中设置,但是我怎样才能从IME中请求呢? 有没有一种方法,我可以调用onStartInputView事件? 或者android系统如何决定IME使用哪种模式 ? 在横向模式下的其中一个笔记应用程序中,默认的IME不使用全屏模式,但我的是,所以应该有一些东西,我找不到它:S。 也许它检查键盘的高度? 如果是的话如何? 我将不胜感激任何想法,谢谢!

Android:从代码确定活动的input法

您如何确定哪种input法当前处于活动状态 – 用户可以通过长按文本编辑字段来更改input法(软键盘) – 从代码中,如何确定用户select了哪种input法

只需要数字软键盘?

您好,我需要一个只有数字值0到9的软键盘和回车键。 不应该显示除这些之外的任何东西。 , ( )等… 我尝试了这里build议的几个选项,但没有看起来为我工作。 setRawInputType(Configuration.KEYBOARD_QWERTY) setRawInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED) setRawInputType(InputType.TYPE_CLASS_NUMBER) setRawInputType(InputType.TYPE_CLASS_PHONE) 我总是在键盘上显示额外的字符,如: setRawInputType(Configuration.KEYBOARD_12KEY)显示一个像这样的键盘: 将不胜感激任何帮助。 提前致谢。 注意: android:minSdkVersion="14" :ICS4.0 android:targetSdkVersion="17" :JB 4.2

显示inputmethod的内置表情符号键

我为Android构build了一个自定义的软键盘,并且希望添加一个布局来包含类似于默认的Android键盘(AOSP)所做的表情符号键。 我search了四周,但似乎大多数人都试图从图像显示自定义表情符号。 我正在寻找显示Android附带的内置图标(如下所示): 看来我应该能够使用Unicode字符从键盘发送图像,但我的第一次尝试似乎只生成表情符号的旧版本。 我如何支持手机可以处理的最新表情符号? 另外,如何在我的键盘上显示emojis,如上图所示?

如何确定Android中的当前IME?

我有一个应用程序,我想警告用户,如果他们不使用默认的Android软键盘。 (即他们正在使用Swype或其他东西)。 我如何检查他们目前select的input法?

如何在input法的input区域使用自定义字体?

我们正在开发一个应用程序,我们需要在EditText使用自定义字体(从应用程序资源加载的Typeface )。 Androidinput法文档陈述如下: 当input焦点移入或移出可编辑文本字段时,Android会根据需要显示或隐藏input法(如屏幕键盘)。 系统还会决定您的UI和文本字段在input法上方的显示方式。 例如, 当屏幕上的垂直空间受到限制时,文本字段可能会填充input法上方的所有空间。 这是大胆的部分,正在绊倒我们。 短语“文本字段可能填充…”似乎是误导性的,因为使用的文本字段不是我们用自定义字体设置的EditText 。 ( 注意:到目前为止的答案都解释了如何在EditText 中设置一个自定义字体,我们已经在EditText 中设置了一个自定义字体,请在回答之前仔细阅读这个问题。)下面是隐藏的input法的截图: 这是软键盘显示和垂直空间受限时发生的情况: 正如你所看到的,input法上方文本字体中的字体不是我们的自定义字体(我猜这是系统默认的Roboto字体)。 我们已经尝试过的每一个软键盘都会发生这种情况。 我想强调的是,当空间受到限制时,键盘上方的视图由系统内部生成,而不是由我们的任何代码生成。 主要的问题是:有没有一种方法(如果是这样,它是什么?)来控制这个(为了缺乏更好的术语)代理视图的外观 – 至less让它使用我们的自定义字体? 如果我们还可以控制键盘上的整个代理区域(包括“完成”button)的布局和外观,这将是一个额外的好处。 我们正在使用这个线程中描述的技术的一个变体来使我们的活动使用与系统中设置的不同的语言环境,但是活动的语言环境显然不适用于这里。 (如果是的话,button将在左边,并会读取“בוצע”,如果我将设备的语言环境更改为希伯来语会发生。[编辑:我可以通过使用android:imeActionLabel属性上的正确的button标签EditText 。但是,我不知道如何控制布局的方向性。]) 编辑每个请求,这里是我如何构build我的对话框(摘自DialogFragment相关部分): public Dialog onCreateDialog(Bundle savedInstanceState) { final Dialog dlg = new Dialog(getActivity(), android.R.style.Theme_Holo_Light_Dialog_NoActionBar); dlg.setContentView(R.layout.edit_note_dialog); mAnimator = (ViewAnimator) dlg.findViewById(R.id.animator); final Typeface hebrew = SystemData.getHebrewFont(); mNoteEditor = (EditText) dlg.findViewById(R.id.note_field); mNoteEditor.setTypeface(hebrew); // etc. […]

Android:在WebView / BaseInputConnection中退格

Android(4.2)中的软键盘退格有问题。 我在WebView(CodeMirror)中有一个自定义编辑器,它在内部使用一个空的<textarea> 。 看起来backspace不是由Android系统发送的,除非它认为<textarea>有一些文本。 我已经重写了WebView onCreateInputConnection ,试图减弱软input: @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { Log.d("CustomWebView", "onCreateInputConnection(…)"); BaseInputConnection connection = new BaseInputConnection(this, false); outAttrs.inputType = InputType.TYPE_NULL; outAttrs.imeOptions = EditorInfo.IME_ACTION_NONE; outAttrs.initialSelStart = -1; outAttrs.initialSelEnd = -1; return connection; } 但是,这是行不通的,甚至onKeyUp不会被称为退格。 如何强制软键盘始终发送退格键?

Android自定义键盘popup式键盘上长按

我有自定义的Android键盘: public class CustomKeyboard extends Keyboard{…} public class CustomKeyboardView extends KeyboardView{…} public class CustomKeyboardIME extends InputMethodService implements KeyboardView.OnKeyboardActionListener{…} 在一些键上,我有popupKeyboard和popupCharacters : <Key android:codes="144" android:keyLabel="0" android:popupKeyboard="@xml/key_popup" android:popupCharacters=")" android:keyEdgeFlags="right"/> XML / key_popup.xml: <Keyboard xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="10%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" > </Keyboard> 但是,当我长按“0”键popup与“)”显示,但它留在那里,直到我按“X”button或“)”字符。 它看起来像这样: 我只想在手指上打开它。 像三星或HTC键盘上的东西: 有人能帮助我吗? 编辑至less可以改变这个popup窗口的外观? 我希望它具有与我制作的全键盘相同的背景和键盘/