导航:首页 > 操作系统 > androidedittext隐藏键盘

androidedittext隐藏键盘

发布时间:2025-02-16 06:38:00

android数字键盘怎么设置成默认的

Android EditText默认数字键盘,能输入字母和数字,使用inputType="number"不管用的,下面的方法管用默认是数字键盘,但是返回可到字母键盘:

布局:
<EditText
android:id="@+id/limit_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dimen_basic4"
android:ellipsize="end"
android:hint="哈哈哈"
android:singleLine="true" />
java代码:
EditText editText = (EditText) findViewById(R.id.limit_edittext);
String digists = "";
editText.setKeyListener(DigitsKeyListener.getInstance(digists));

② 【转】Android软键盘的全面解析

软键盘其实是一个Dialog

InputMethodService为我们的输入法创建了一个Dialog,并且对某些参数进行了设置,使之能够在底部或者全屏显示。当我们点击输入框时,系统会对当前的主窗口进行调整,以便留出相应的空间来显示该Dialog在底部,或者全屏。

其实这段话我们经常在各种软键盘博客所看到,但是大家并不知道Android是怎么为我们创建的这个Dialog,所以我先带大家来看下软键盘生成这块的源码,了解软键盘的生成流程。

我们先来看一下InputMethodService的继承关系:

因为InputMethodService属于服务,接下来我们先看一下服务的入口onCreate()方法:

通过上面的分析,我们怀疑这里的SoftInputWindow是软键盘弹出创建的Dialog对象,下面我们看下SoftInputWindow的源码。

看到这里大家就能明白了,为什么说软键盘就是一个Dialog。而且这里通过设置Gravity.BOTTOM来控制当前Dialog在Window中的位置。

在Android中,可以通过给Activity设置 windowSoftInputMode 这个属性来控制软键盘与Activity的主窗口的交互方式。

Activity 的主窗口与包含屏幕软键盘的窗口的交互方式,该属性的设置影响两个方面:

该设置必须是下面所列的值之一,或者是一个“state…”值加上一个“adjust…”值的组合,在任一组中设置多个值(例如,多个“state…”值)都会产生未定义结果。各值之间使用垂直条 (|) 分隔。

下面将通过例子来介绍 adjustNoting adjustUnspecified adjustResize adjustPan 在软键盘弹出的区别:

非滚动布局xml

点击最下面的EditText12

滚动布局xml

通过上面的例子,我们可以完全理解adjust系列的各个参数的作用。而软键盘的显示和隐藏这里面需要并不多,而且内容并不算复杂,大家回去自己尝试下就可以。

在日常开发中,如果需要将软键盘的Enter键更改为其他键,可以设置其 android:imeOptions 属性,这个属性可以控制软键盘的Enter键,以及横屏情况下的软键盘显示状态。

该设置必须是下面所列的值之一,或者是一个“action…”值加上一个“flag…”值的组合,在action…组中设置多个值(例如,多个“action…”值)都会产生未定义结果,而flag….可以设置多个。各值之间使用垂直条 (|) 分隔

控制软键盘上的Enter键

横屏下控制软键盘

总结一下:
这里大部分的属性,已经介绍完毕,如果英语好的同学,可以去看下官方文档,可以更好的理解,并且本文以搜狗输入法为实践,可能其他的输入法与其显示的不同,但是功能应该都是一样的。

而如果要在横屏状态不希望软键盘全屏显示最好是将flagNoFullscreen和flagNoExtractUi结合使用,这样体验上会更好

android:imeOptions=”flagNoFullscreen|flagNoExtractUi”

Android官网的Api

如果需要监听软键盘的右下角的按键,需要为EditText设置setOnEditorActionListener()监听:

上面的方式,只是展示了如何监听各个按键的方法,如果需要消费事件,则需要return true。

(1)第一次写这么长的博客,感觉会有一些不足,各位看官如果有不合理的地方,或者有误的地方请直接指出。

(2)本来想整理成一个Demo的,后来简单看来下,该有的几乎都贴出来了,有需要的可以按需复制就可以。

(3)写完这篇博客之后,感觉博客干货还是不多,所以定位这篇文章算是总结性质加上实际案例性质的博客。

(4)Android软键盘的总结就差不多到这里,希望各位看官,如果看到这里有收获,就点点赞,灌灌水,顶一波,这样博主才有写下去的动力。

(5)感谢小辉同学的校验,调整了文章中不通顺的地方。

1.彻底搞定Android开发中软键盘的常见问题
http://blog.csdn.net/mynameishuangshuai/article/details/51567357

2.Android UI(EditText)详解
http://blog.csdn.net/qq_28057577/article/details/51919965?locationNum=12&fps=1

3.微信软键盘布局闪动问题
https://blog.dreamtobe.cn/2015/09/01/keyboard-panel-switch/

阅读全文

与androidedittext隐藏键盘相关的资料

热点内容
成为java程序员需要会哪些东西 浏览:448
移动网络显示已加密保存什么意思 浏览:135
vm15虚拟机共享文件夹找不到 浏览:406
三星壁纸安卓怎么设置 浏览:25
整式乘除运算法则 浏览:501
在svn内创建文件夹 浏览:796
解压缩有后缀 浏览:521
手机版我的世界服务器如何与队友连接 浏览:919
安卓版抖音如何看好友抖音在线 浏览:65
雪佛兰景程空调压缩机转风扇不转 浏览:186
文档加密传输中关村 浏览:391
云图计划全算法 浏览:479
程序员开工作室需要什么手续 浏览:456
Python中的u1 浏览:108
51单片机无线音乐门铃设计 浏览:531
408算法题分布 浏览:574
三台cnc需要配多大的压缩机 浏览:938
压缩波的另一个名称 浏览:365
电厂电气设备pdf 浏览:270
linux驱动程序编译 浏览:637