我正在开发具有外部键盘的android Tab。所以我需要删除我的应用程序上的Android软键盘弹出。我尝试了很多方法,但它对我来说都不适用,因为我的设备是Api-16。
EditText edtView=(EditText)findViewById(R.id.editTextConvertValue);
edtView.setInputType(0);
这段代码很有用,但没有显示光标。我试过这些,
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN
);
和
<activity
android:name=".MyActivity"
android:windowSoftInputMode="stateAlwaysHidden"/>
对我来说没什么用。
还有其他办法吗?
提前感谢!!
答案 0 :(得分:2)
试试这个
edtView.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus){
edtView.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(edtView.getWindowToken(), 0);
}
},1);
}
}
});
答案 1 :(得分:1)
在您想要隐藏键盘时调用以下功能
public static void hideKeyboard(Context context, View mView) {
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mView.getWindowToken(), 0);
}
答案 2 :(得分:0)
在使用edittext并想隐藏焦点/单击键盘时使用xml代码中的这些行。
android:clickable="true"
android:focusableInTouchMode="false"