标签: soft-keyboard

关闭/隐藏Android软键盘

我的布局中有一个EditText和一个Button.

在编辑字段中写入并单击后Button,我想隐藏虚拟键盘.我假设这是一段简单的代码,但我在哪里可以找到它的一个例子?

android soft-keyboard android-layout android-softkeyboard android-input-method

3641
推荐指数
59
解决办法
144万
查看次数

Android:焦点在EditText上时自动显示软键盘

我正在使用输入框AlertDialog.在EditText该对话框中本身自动对焦,当我打电话AlertDialog.show(),但软键盘未自动显示.

如何在显示对话框时自动显示软键盘?(并且没有物理/硬件键盘).与按下"搜索"按钮调用全局搜索的方式类似,将自动显示软键盘.

keyboard android soft-keyboard android-edittext

328
推荐指数
12
解决办法
29万
查看次数

以编程方式隐藏/显示Android软键盘

可能重复:
关闭/隐藏Android软键盘

首先,我已经看到了这个帖子.我试过那里接受的方法..但没有什么对我有用..

我的应用程序中有两个屏幕.

  • 第一个有2个EditText - 一个用于用户名,一个用于密码
  • 第二个有一个ListView和一个EditText - 来过滤listView

在我的第一个屏幕中,我希望用户名EditText专注于启动,键盘应该是可见的 ..这是我的实现(通过删除不必要/不相关的代码简化)..

app_login.xml

<LinearLayout android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:paddingLeft="20dip"  
    android:paddingRight="20dip">

    <EditText android:id="@+id/username" 
        android:singleLine="true" 
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content" android:hint="Username"  
        android:imeOptions="actionDone" android:inputType="text"
        android:maxLines="1"/>

    <EditText android:id="@+id/password" 
        android:password="true" 
        android:singleLine="true"  
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"    
        android:hint="Password" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

AppLogin.java

class AppLogin extends Activity{
    private EditText mUserNameEdit = null;
    private EditText mPasswordEdit = null;

    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.app_login);

        mUserNameEdit  =    (EditText) findViewById(R.id.username);
        mPasswordEdit  =    (EditText) findViewById(R.id.password);

        /* code to show keyboard on startup.this code is not working.*/ …
Run Code Online (Sandbox Code Playgroud)

java android show hide soft-keyboard

233
推荐指数
4
解决办法
26万
查看次数

如何禁用EditText软件键盘上的"下一步"按钮(替换为"完成"按钮)

我的Android应用程序中有一堆EditTexts,每个都将InputMethod设置为numberSigned.我的目标设备没有硬件键盘,并使用软件键盘进行数字输入.Android使用"下一步"按钮替换输入框右侧的标准"完成"按钮.我怎样才能使用"完成"?

android soft-keyboard android-edittext

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

如何通过iOS获得UIKeyboard尺寸

有没有办法以编程方式获得UIKeyboard大小.高度216.0f,景观高度162.0f.

以下似乎已被弃用.有没有什么方法可以在3.0 iPhone OS SDK和4.0 iPhone OS SDK中都没有任何警告来执行此操作.

CGSize keyBoardSize = [[[note userInfo]
                        objectForKey:UIKeyboardBoundsUserInfoKey] CGRectValue].size;
Run Code Online (Sandbox Code Playgroud)

iphone objective-c soft-keyboard ios

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

活动开始时显示软键盘

我有2个活动,A和B.当A启动时,它检查一个条件,如果为true,则调用startActivityForResult()启动B.B只接受文本输入,因此软键盘在B启动时自动弹出是有意义的.当活动开始时,EditText已经具有焦点并准备输入.

问题是键盘永远不会出现,即使windowSoftInputMode="stateAlwaysVisible"<activity>B标签下的清单中设置也是如此.我也尝试将值设置为stateVisible.由于它没有自动显示,我必须点击EditText才能显示.

任何人都知道解决方案可能是什么?

keyboard android soft-keyboard

54
推荐指数
6
解决办法
4万
查看次数

创建每个键具有多个/备用字符的SoftKeyboard

我已经关注了developer.android.com上有关 输入法的示例,并使用了SoftKeyboard示例应用程序.这些共同提供了有关简单键盘创建的足够信息.

我在API中看不到的是能够在标准键盘(LatinIME键盘)上为每个键创建备用/多个字符.

在此输入图像描述

上面的图像是长按"a"键的结果.当您长按一个键时,可以使用替换字符填充弹出窗口.

在此输入图像描述

也可以在某些键上给出一个弹出提示,提示用户按住一个键以获得弹出菜单.

到目前为止,我还没有找到关于如何实现这一目标的单一信息来源,希望有人能够给我一个良好的开端,直到那时我将遵循内置键盘的源代码,看看我是否可以进行逆向工程它.

编辑:如果developer.android.com的LatinIME键盘链接没有链接到一个的图片会有帮助:) LatinIME.java的实际源代码.

编辑2:更多作为参考而不是其他任何东西,这是我认为通常的longPress操作通过以便在KeyboardView.java中显示弹出键盘的序列:

onTouchEvent()
onModifiedTouchEvent()
mHandkler.handleMessage() with MSG_LONGPRESS
openPopupIfRequired() 
onLongPress()
Run Code Online (Sandbox Code Playgroud)

编辑3:

我仍然没有想到这一点 - 如何向键添加标签建议?答案表明它没有内置到API中,事实上我还没有找到代码来执行此操作.但是,2.3.4(API 10)上的键盘显示正在实现此功能:

在此输入图像描述

非常想弄清楚IT是如何做到的,但它不是onDraw()我能看到的方法中的任何地方- 这让我相信它是在KeyboardView元素之外编写的.然而,我无法找到layout用于在内置键盘上显示KeyboardView元素的文件 - 如果有人知道在哪里找到这个也许会给我提供我需要的线索.

编辑4:移动键预览问题,因为它稍微偏离主题:

如何禁用SoftKeyboard键预览窗口?

android soft-keyboard android-softkeyboard

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

对话框关闭后隐藏软键盘

我想在AlertDialog解雇后隐藏软键盘,但它仍然可见.这是我的代码:

alert = new AlertDialog.Builder(MyActivity.this);
imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);

alert.setOnDismissListener(new DialogInterface.OnDismissListener() {

    @Override
    public void onDismiss(DialogInterface dialog) {
        imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
    }
});
Run Code Online (Sandbox Code Playgroud)

keyboard android hide soft-keyboard android-softkeyboard

40
推荐指数
4
解决办法
3万
查看次数

在Xamarin Forms共享项目中将返回更改为next/done键

是否可以将键盘上"return"键中的文本更改为"next"或"done"?我有一个包含用户名和密码的登录表单.我希望返回键在用户名字段上显示"下一步",然后在密码字段上显示"完成",但无论如何都没有看到这样做.这是一个共享项目,Android和iOS.

用户名

密码

soft-keyboard xamarin xamarin.forms

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

Android中的完成键盘上隐藏软键盘?

我正在努力使用软键盘上的完成按钮.我无法通过软键盘完成按键来隐藏键盘.从另一个按钮,它完美地与

imm.hideSoftInputFromWindow(editText.getApplicationWindowToken(), 0);

但onKeyListener不能按我想要的方式运行.当我点击editText时,软键盘会显示,其内容将从字符中清除.

谢谢收听!

main.xml:

<EditText 
    android:id="@+id/answer" 
    android:layout_gravity="center_horizontal" android:textSize="36px"
    android:inputType="phone"
    android:minWidth="60dp" android:maxWidth="60dp"
/>
Run Code Online (Sandbox Code Playgroud)

Java文件:

private EditText editText;
//...
editText = (EditText)findViewById(R.id.answer);
editText.setOnClickListener(onKeyboard);
editText.setOnKeyListener(onSoftKeyboardDonePress);
//...

// method not working:
private View.OnKeyListener onSoftKeyboardDonePress=new View.OnKeyListener() 
{
    public boolean onKey(View v, int keyCode, KeyEvent event) 
    {
        if (event.getKeyCode() == KeyEvent.FLAG_EDITOR_ACTION)
        {
            // code to hide the soft keyboard
            imm = (InputMethodManager) getSystemService(
                Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(editText.getApplicationWindowToken(), 0);
        }
        return false;
    }
};

private View.OnClickListener onKeyboard=new View.OnClickListener() 
{
    public void onClick(View v) 
    {
        editText.setText("");
    }
}; …
Run Code Online (Sandbox Code Playgroud)

android soft-keyboard android-softkeyboard

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