标签: android-softkeyboard

当字段是.focus()时使用javascript显示Android的软键盘

在网页中,我有一个搜索字段.我添加了一个"清除"按钮,以便用户可以清除搜索字段并重新开始.为方便起见,我将焦点放在搜索字段的文本框中,光标确实出现在框中.然而,软键盘似乎没有出现在使用默认浏览器的Android设备上.在iOS和Opera Mobile中,它可以像我期望的那样工作.

是否有一种我可以调用的方法可以让键盘显示在Android的浏览器上,以便用户可以立即开始输入?

function clear_search() {
    if($('#searchinput').val()) {
        $('#searchinput').val('');
    }
    $('#searchinput').focus();
}
Run Code Online (Sandbox Code Playgroud)

javascript jquery html5 android android-softkeyboard

10
推荐指数
2
解决办法
2万
查看次数

在Android键盘上检测回事件

我在选项卡控制器中有一些意图,其中一个我有一个编辑文本,我需要知道它何时有焦点,何时失去了这个焦点.我制订最喜欢的焦点侦听器,OnEditorActionListener等等,现在我唯一的问题仍然是事件的是,当我有集中出现的软键盘,我想要么关闭:通过完成按钮,而不是由1)在手机上后退按钮(禁用后退按钮来关闭键盘,而键盘是可见的)2)检测后退按钮事件,而键盘是可见的,这样我可以通过焦点到其他一些控制.

我曾尝试多种方法,但没有成功,像onBackPressed,onConfigurationChanged(在清单中添加hiddenKeyboard),key_down的活动和等,但没有成功.

有人成功吗?实际上,我想当键盘可见时,我按回电话,我的编辑文本失去焦点(otherControl.requestFocus - >这是一个相对布局).

android android-softkeyboard

10
推荐指数
3
解决办法
8762
查看次数

使用退格键删除整个Spannable

我有一个聊天应用程序,可以在文本中添加表情符号.

我有这个EditText领域的问题.表情符号图像显示但如果我按下普通键盘上的退格按钮,我正在更改为表情符号图片的文本显示,我必须删除几个字符,直到图片消失.我正在使用Spannable这个.

如果用户按下一次退格键,我希望整个笑脸消失.

这里是我使用的代码:

// This is in the keyclicked listener
{
    ...
    smilie = "(angel)";
    break;
    ...
    int cursorPosition = content.getSelectionStart();
    content.getText().insert(cursorPosition, getSmiledText(this, smilie));
    content.getText().insert(cursorPosition + smilie.length(), " ");
}

public static boolean addSmiles(Context context, Spannable spannable) {
    boolean hasChanges = false;
    for (Entry<Pattern, Integer> entry : smilies.entrySet()) {
        Matcher matcher = entry.getKey().matcher(spannable);
        while (matcher.find()) {
            boolean set = true;
            for (ImageSpan span : spannable.getSpans(matcher.start(),
                    matcher.end(), ImageSpan.class))
                if (spannable.getSpanStart(span) >= matcher.start()
                        && spannable.getSpanEnd(span) <= matcher.end()) …
Run Code Online (Sandbox Code Playgroud)

android android-softkeyboard android-edittext

10
推荐指数
1
解决办法
2521
查看次数

如何在搜索视图中隐藏android键盘

我在我的应用程序中使用了搜索视图.我想知道当我点击搜索视图上的搜索按钮时如何隐藏键盘?我必须使用后退按钮来查看结果.

android android-softkeyboard searchview

10
推荐指数
2
解决办法
1万
查看次数

显示用于inputmethod的内置表情符号键

我正在为Android构建一个自定义软键盘,并希望添加一个布局,以包括类似于默认Android键盘(AOSP)正在做的表情符号键.我一直在搜索,但似乎大多数人都试图从图像中显示自定义表情符号.我想展示Android附带的内置图标(如下所示):

Android内置表情符号

似乎我应该能够使用Unicode字符从键盘发送图像,但我的第一次尝试似乎只生成了emojis的旧版本.我如何支持手机可以处理的最新表情符号?另外,如何在键盘上显示表情符号,如上图所示?

android emoticons android-softkeyboard emoji android-input-method

10
推荐指数
2
解决办法
1694
查看次数

在Android键盘中每两个键输出一个字符

我正在Android中为Amharic语言设计自定义键盘,但以下内容适用于许多其他非英语语言.

两个或多个键组合转换为一个字符.因此,如果用户键入'S',键盘将输出'ሰ'...如果他们跟着字母'A',则'ሰ'将替换为'ሳ'.

我设法得到一个解决方案,如下所示,通过查看光标前的字符并根据Map检查它.但是,我想知道是否有更简单,更清洁的解决方案.

public void onKey(int primaryCode, int[] keyCodes) {
    InputConnection ic = getCurrentInputConnection();
    HashMap<String, Integer> en_to_am = new HashMap<String, Integer>();
    CharSequence pChar = ic.getTextBeforeCursor(1, 0);
    int outKey = 0;

    //build a hashmap of 'existing character' + 'new key code' = 'output key code'
    en_to_am.put("83", 4656);
    en_to_am.put("?65", 4659);

    try {
        //see if config exists in hashmap for 'existing character' + 'new key code'
        if (en_to_am.get(pChar.toString() + primaryCode) != null) {
            outKey = en_to_am.get(pChar.toString() + primaryCode);
            ic.deleteSurroundingText(1, 0);
        } else { …
Run Code Online (Sandbox Code Playgroud)

java android locale non-latin android-softkeyboard

10
推荐指数
1
解决办法
774
查看次数

SearchView可以同时具有voiceSearchButton和键盘的语音输入吗?

我正在为我的应用程序的搜索界面添加语音搜索功能.目前,它看起来像这样:

初始搜索界面

为了添加语音搜索,我voiceSearchMode在我的可搜索配置中添加了一个,它在SearchView中添加了一个按钮来触发语音对话框.界面现在看起来像这样:

在此输入图像描述

但是,正如您在键盘上看到的那样,,麦克风按钮现已禁用.我找不到任何关于如何再打开它的文档,唯一相关的问题解释了如何明确禁用它.

是否可以同时使用系统的语音搜索对话框键盘的语音输入SearchView

android voice android-softkeyboard searchview

10
推荐指数
1
解决办法
230
查看次数

在显示使用nextFocusDown设置的键盘后切换片段时Android应用程序崩溃

我有一个应用程序,可以很好地处理基于导航栏交互切换的多个片段.其中一个屏幕有多个文本字段,我决定订购这些字段,因此键盘"next"会自动将用户带到下一个可填写的文本字段nextFocusDown.最后一个导致导致RadioGroup显示"完成"按钮.

该领域是这样的(他们是内LinearLayout是内NestedScrollView内的另一个LinearLayout即根目录下FrameLayout):

<EditText
    android:id="@+id/firstName"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="textPersonName|textCapWords"
    android:nextFocusDown="@id/lastName"
    android:text="" />
<EditText
    android:id="@+id/lastName"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="textPersonName|textCapWords"
    android:nextFocusDown="@id/email"
    android:text="" />
<EditText
    android:id="@+id/email"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="textEmailAddress"
    android:nextFocusDown="@id/localId"
    android:text="" />
Run Code Online (Sandbox Code Playgroud)

还有更多字段,其中一些包括文本提示等.

如果我运行应用程序,选择一个字段,然后点击"下一步"按钮,直到键盘自行消失 - 一切正常.当我选择一个字段时出现问题,键盘出现,然后我点击了导致键盘消失的安卓向下按钮.执行此操作后,此屏幕中的所有内容看起来都很好,一切正常,直到我切换片段,然后应用程序崩溃,我在日志中看到这些错误:

04-10 00:12:24.763 redacted E/AndroidRuntime: FATAL EXCEPTION: main
    Process: redacted, PID: 24660
    java.lang.NullPointerException: Attempt to invoke interface method 'void android.view.inputmethod.InputConnection.closeConnection()' on a null object reference
        at android.view.inputmethod.InputConnectionWrapper.closeConnection(InputConnectionWrapper.java:270)
        at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:541)
        at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:85)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at …
Run Code Online (Sandbox Code Playgroud)

android android-softkeyboard android-fragments

10
推荐指数
2
解决办法
2094
查看次数

在Android Pie(API-28)中输入活动时键盘不显示

我想在进入电子邮件登录界面时弹出设备键盘.

我宣布windowSoftInputMode"stateVisible"AndroidManifest.xml中的文件:

<activity
        android:name=".activities.EmailLoginActivity"
        android:launchMode="singleTask"
        android:screenOrientation="portrait"   
        android:windowSoftInputMode="stateVisible" />
Run Code Online (Sandbox Code Playgroud)

我已经按照这个文档.

结果:

在运行最多27个Android API的设备上,会显示键盘.

在运行Android API 28的设备上,未显示键盘.

这是Android Pie中的错误吗?

有什么建议吗?

android android-softkeyboard android-studio android-9.0-pie

10
推荐指数
1
解决办法
2971
查看次数

对话框关闭时隐藏软输入键盘

我正在打开Dialog一个Activity.对话框打开后,我打电话

((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
Run Code Online (Sandbox Code Playgroud)

问题是,当我通过点击取消按钮或单击对话框外部关闭对话框时,键盘切换到文本键盘并且不会消失工具我单击硬件返回按钮.如何在关闭对话框时关闭键盘,并将焦点返回到上一个窗口?

android android-softkeyboard android-dialog

9
推荐指数
2
解决办法
5476
查看次数