当前位置:编程学习 > wap >>

EditText如何屏蔽软键盘?

  目前小弟的程序在QVGA 320x240的小画面的虚拟机下运行时遇到一个问题,有一个画面上的EditText比较多,都是用户需要输入信息的。在竖屏状态下,只要是焦点一进入EditText就弹出虚拟键盘,将大半个画面遮住。现在想在这个分辨率下屏蔽软键盘的弹出该如何做?就是无论用户怎样在屏幕上点EditText都不出虚拟键盘? --------------------编程问答-------------------- 貌似不行吧 --------------------编程问答-------------------- --------------------编程问答-------------------- 这个好像不行吧。 --------------------编程问答-------------------- 好像可以在edittext控件中屏蔽掉
--------------------编程问答--------------------
引用 4 楼 chinesezzz 的回复:
好像可以在edittext控件中屏蔽掉

en  --------------------编程问答-------------------- --------------------编程问答-------------------- import android.view.inputmethod.InputMethodManager;
 private InputMethodManager mIM;
 mIM = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
EditText ipNumber = (EditText) popupBody
.findViewById(R.id.alertdialogedit);//ipNumber就是EditText
       handler.postDelayed(new Runnable() {
         public void run() {
          imm.hideSoftInputFromWindow(ipNumber.getWindowToken(), 0);          }
}, 200);
private Handler handler = new Handler() {
     public void handleMessage(Message msg) {
     switch (msg.what) {
     case 0:
     System.out.println("DONE");
     break;
     }
     }
    };
这个我实现过,作用是启动的时候不弹出键盘,可以把这代码加到onCreate里面,但是必须延迟200毫秒以上,如果不加延迟发现没有效果。楼主试试看,实现肯定是没有问题的。有问题继续留意。 --------------------编程问答-------------------- 如果你是点击的时候不需要他,就加一个点击监听器,然后在onClick里面加imm.hideSoftInputFromWindow(ipNumber.getWindowToken(), 0);就可以了。 --------------------编程问答-------------------- import android.view.inputmethod.InputMethodManager;
 private InputMethodManager mIM;
 mIM = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
EditText ipNumber = (EditText) popupBody
.findViewById(R.id.alertdialogedit);//ipNumber就是EditText

ipNumber.setOnClickListener(new OnClickListener(){

@Override
public void onClick(DialogInterface arg0, int arg1) {
imm.hideSoftInputFromWindow(ipNumber.getWindowToken(), 0);
}

})
你也可以加focus改变的监听器setOnFocusChangeListener,这样焦点改变的时候就加隐藏的代码。 --------------------编程问答-------------------- EditText.setInputType(InputType.TYPE_NULL); --------------------编程问答-------------------- AndroidManifest.xml   文件中Application 中加上
android:windowSoftInputMode="adjustUnspecified"

--------------------编程问答-------------------- 让代码说话 O(∩_∩)O~

在android的开发中,将整个页面只使用LinearLayout编辑时,当点击输入框时,系统自带的虚拟键盘会遮挡住输入框
解决办法是在整个页面配置文件中,在LinearLayout布局外加入
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent" android:background="@drawable/backgroundshape">
这样在系统自动调用虚拟键盘时,整个页面布局会发生变化,分为两个部分,一个是虚拟键盘显示的部分,一个是你自己的页面。

--------------------编程问答-------------------- 软键盘的屏蔽,理论上是可以的。这是一个再平常不过的要求吧。为什么会有人认为不可以呢? --------------------编程问答-------------------- 10楼正解 --------------------编程问答-------------------- 10楼
up --------------------编程问答-------------------- 10楼  正解  --------------------编程问答-------------------- 怎么设置呢,详细点哟 --------------------编程问答-------------------- 10#
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,