我有很多EditText
我设置了一些,setInputType(InputType.TYPE_NULL)
让我们的输入视图来处理插入数据。
但其中一些,我使用来自EditText
.
当我触摸普通EditText
普通键盘时,当我触摸我的自定义普通键盘时,从这个状态开始,我的自定义EditText
普通键盘不会立即隐藏,我的自定义输入显示在该键盘上方。
谢谢。
我有很多EditText
我设置了一些,setInputType(InputType.TYPE_NULL)
让我们的输入视图来处理插入数据。
但其中一些,我使用来自EditText
.
当我触摸普通EditText
普通键盘时,当我触摸我的自定义普通键盘时,从这个状态开始,我的自定义EditText
普通键盘不会立即隐藏,我的自定义输入显示在该键盘上方。
谢谢。
为什么不使用自己的键盘布局?
或者,如果您想使用,则必须将其更改为样式。
这是默认 KeyboardView 样式的代码:
<style name="Widget.KeyboardView" parent="android:Widget">
<item name="android:background">@android:drawable/keyboard_background</item>
<item name="android:keyBackground">@android:drawable/btn_keyboard_key</item>
<item name="android:keyTextSize">22sp</item>
<item name="android:keyTextColor">#FFFFFFFF</item>
<item name="android:keyPreviewLayout">@android:layout/keyboard_key_preview</item>
<item name="android:keyPreviewOffset">-12dip</item>
<item name="android:keyPreviewHeight">80dip</item>
<item name="android:labelTextSize">14sp</item>
<item name="android:popupLayout">@android:layout/keyboard_popup_keyboard</item>
<item name="android:verticalCorrection">-10dip</item>
<item name="android:shadowColor">#BB000000</item>
<item name="android:shadowRadius">2.75</item>
</style>
希望你能理解。
随时发表评论。
将以下方法添加到您想要隐藏内置SoftKeyBoard
.
public void hideSoftKeyboard(Activity activity) {
InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);
}
现在在onCreate
之后添加以下行setContentView()
。
final EditText editText = (EditText) findViewById(R.id.edtTitle);
editText.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
android.util.Log.i(TAG, "Touch");
hideSoftKeyboard(JoinImageActivity.this);
//Open your custom keyboard here
return true;
}
});
在这里,您可以打开自定义键盘,因为它隐藏了内置键盘。我希望这可以帮助你。