【问题标题】:Android Custom Keyboard with Custom Button for each userAndroid 自定义键盘,每个用户都有自定义按钮
【发布时间】:2017-10-25 17:54:07
【问题描述】:

我有一个特定的要求,即为每个用户提供一个仅在键盘上可供他使用的自定义按钮。自定义按钮可以是任何类似的(%、#、@ 等,也可以是数字)。我如何在自定义键盘上添加任何想法。我已经在我的应用中添加了自定义键盘,但我还需要这个按钮。

提前致谢。

【问题讨论】:

    标签: android android-studio special-characters custom-keyboard


    【解决方案1】:

    实际上,您可以为那个蓝色小按钮设置自定义文本。在 xml 文件中只需使用

    android:imeActionLabel="userName"
    

    您也可以像

    一样以编程方式执行此操作
    etEditText.setImeActionLabel("userName", EditorInfo.IME_ACTION_DONE);
    

    如果你比使用什么按钮 onClickListner

    etEditText.setOnEditorActionListener(new OnEditorActionListener() {
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if ((event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) || (actionId == EditorInfo.IME_ACTION_DONE)) {
                    Log.i(TAG,"Enter pressed");
                }    
                return false;
            }
        });
    

    应该注意,这不会导致文本出现在所有设备的所有键盘上。某些键盘不支持该按钮上的文本(例如 swiftkey)。有些设备也不支持它。一个好的规则是,如果您看到按钮上已有文本,这会将其更改为您想要的任何内容。

    【讨论】:

    • 不,我想添加用户专门为该用户建议的按钮。建议的按钮应该只出现在他的设备键盘上。
    • 是的兄弟!这就是你的逻辑意味着你必须像 Switch(username) { case "usernameOne": etEditText.setImeActionLabel("usernameOne", EditorInfo.IME_ACTION_DONE); 这样动态检查用户。休息; case "usernameTwo": etEditText.setImeActionLabel("usernameTwo", EditorInfo.IME_ACTION_DONE);休息; }
    • 对于 usernameOne 它在键盘上显示他的名字为 'usernameOne' 对于 usernameTwo 显示名称如 'usernameTwo'
    猜你喜欢
    • 2010-12-03
    • 2013-08-06
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 2015-06-06
    • 2020-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多