Android EditText 不弹出输入法

时间:2021-10-12 14:49:27

当第一次进入一个activity的时候  一般是第一个edittext是默认选中的,但是该死的软键盘也一起弹出来了 那是相当的不美观哈!Android EditText 不弹出输入法(#‵′)凸。为此,

本大人就去寻找在刚进入这个activity的时候做一些处理的方法,总结如下

Android EditText不弹出输入法

方法一: 简单快捷,在AndroidMainfest.xml中选中该activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden(推荐)

   <activity
android:name="com.intretech.eps.ScanStation"
android:label="@string/title_activity_scan_station"
android:windowSoftInputMode="adjustUnspecified|stateHidden" >
</activity>
</application> </manifest>

ps: adjustUnspecified" 它不被指定是否该Activity主窗口调整大小以便留出软键盘的空间,或是否窗口上的内容得到屏幕上当前的焦点是可见的。系统将自动选择这些模式中一种主要依赖于是否窗口的内容有任何布局视图能够滚动他们的内容。如果有这样的一个视图,这个窗口将调整大小,这样的假设可以使滚动窗口的内容在一个较小的区域中可见的。这个是主窗口默认的行为设置。

 

方法二: 让EditText失去焦点(不推荐,清除焦点的话用户还得再点一次 )

EditText edit=(EditText)findViewById(R.id.edit);
edit.clearFocus();

方法三: 强制隐藏Android输入法窗口,利用InputMethodManager类来管理软键盘

    // 隐藏软键盘
private void hideSoftInput() {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(station.getWindowToken(),
InputMethodManager.RESULT_HIDDEN); //需要做什么处理 看情况查阅官方文档
}

这个我没有试验成功,网上别人也是用这种方法处理软键盘的。  貌似Android好多操作android系统服务的东西都封装在 xxxManger里边,然后用getSystemService(对应的参数) 来获取改服务的管理实例, 个人使用过的通知Notification也是如此:

NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

虽然自认为英语水平不错,但是直接看官方文档还是有点吃力(密密麻麻的一堆着实让老夫眼花缭乱),好多时候还是直接google别人的解释。 技术词汇和看英文小说还是有很大的差别(看小说的时候都是泛读)看来以后要多多看官方文档,熟悉专业词汇的意思,不能一直偷懒直接看别人的解释,不然到时候用比较少用的需求时才手足无措地去翻看英文资料。