android里面怎样强制弹出键盘啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android里面怎样强制弹出键盘啊相关的知识,希望对你有一定的参考价值。

android里面怎样强制弹出键盘啊,一般默认是点击的时候就会弹出键盘的。但是我现在的程序无法弹出键盘,听说android里面强制弹出的。各位大侠,帮帮小女子,都还没有学过android,公司就叫我搞android的项目了

Android软键盘强制弹出及隐藏输入法的方法:

    很多应用中对于一个界面比如进入搜索界面或者修改信息等等情况,为了用户体验应该自动弹出软键盘而不是让用户主动点击输入框才弹出(因为用户进入该界面必然是为了更改信息)。具体实现这种效果的代码如下:

java代码

     EditText  editText.setFocusable(true);    

        editText.setFocusableInTouchMode(true);    

        editText.requestFocus();    

InputMethodManager inputManager =    

                    (InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);    

        inputManager.showSoftInput(editText, 0);    

    首先要对指定的输入框请求焦点。然后调用输入管理器弹出软键盘。

      警告:对于刚跳到一个新的界面就要弹出软键盘的情况上述代码可能由于界面为加载完全而无法弹出软键盘。此时应该适当的延迟弹出软键盘如998毫秒(保证界面的数据加载完成)。实例代码如下:

        java代码:

        Timer timer = new Timer();    

             timer.schedule(new TimerTask()    

                 

                 public void run()     

                     

                     InputMethodManager inputManager =    

                         (InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);    

                     inputManager.showSoftInput(editText, 0);    

                     

             ,      

                 998);    

        


参考技术A 强制弹出键盘?一进入界面就弹出?那只需要在XML文件中 添加<requestFocus> 例:<EditText
android:id="@+id/txtSearch"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<requestFocus />
</EditText>
或者代码中editText.requestFocus();
参考技术B 你在想要弹出软键盘的地方 加上getWindow().setSoftInputModeWindowManager
.LayoutParams.SOFT_INPUT_STATE_VISIBLE); 这个就好了
参考技术C InputMethodManager m = (InputMethodManager) editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

手机浏览器浏览WebApp弹出的键盘遮盖住文本框的解决办法

手机浏览器浏览WebApp弹出的键盘遮盖住文本框的解决办法

最近碰到Android微信内置浏览H5页面,因为其中的文本输入框(input)放置在靠近页面的中下方,点击文本框以后,则输入框会被弹出的手机输入法键盘遮盖住。

找到一段js代码直接解决之,点击时强制滚动之,好像也解决了在Android浏览器下浏览的同样问题。

 

复制代码
1 if(/Android [4-6]/.test(navigator.appVersion)) {
2     window.addEventListener("resize", function() {
3         if(document.activeElement.tagName=="INPUT" || document.activeElement.tagName=="TEXTAREA") {
4             window.setTimeout(function() {
5                 document.activeElement.scrollIntoViewIfNeeded();
6             },0);
7         }
8     })
9 }
复制代码

 

补充一段代码:对于某些页面,由于页面设计底部可能有工具栏(比如某些页面固定了一个footer在底部),这时候虽然系统计算出来不需要滚动,但弹出输入法时,底部的工具栏却移动上去正好遮盖住输入框(常见于输入框正好在页面中部的情况)。
这时候可以通过判断屏幕高度变化来隐藏该底部工具栏。

    <script type="text/javascript">
        document.write( \'<style>#footer{visibility:hidden}@media(min-height:\' + ($( window ).height() - 10) + \'px){#footer{visibility:visible}}</style>\' );
    </script>

以上是关于android里面怎样强制弹出键盘啊的主要内容,如果未能解决你的问题,请参考以下文章

如何使用javascript强制关闭android键盘

Android之弹出/隐藏系统软键盘

Android的EditText在怎样获取焦点并弹出软键盘

android 软键盘弹出默认是英文,怎么让默认为数字,但是还是能输入英文呢

Android中怎么实现模拟键盘输入?

android dialog 怎样自动弹出输入法