如何在onSwipe方法中更改键盘布局?

时间:2015-04-25 12:46:08

标签: android xml layout android-softkeyboard gesture

我想知道如何在onSwipe方法中更改键盘布局 我有qwerty.xml字母,但我需要数字和符号 这两组字符位于numeric.xml 当我向左或向右滑动时,numeric.xml将显示,qwerty.xml将被隐藏。

如果您需要我的代码的任何部分,请询问。

1 个答案:

答案 0 :(得分:2)

您需要在InputManagerService中更改键盘对象的布局。然后,您需要使所有键无效以重新绘制键盘。 像这样:  公共类MyKeyboard扩展InputMethodService实现KeyboardView.OnKeyboardActionListener  {     private KeyboardView myKeyboardView;     私人键盘myKeyboard;     public View onCreateInputView()     {        viewOfKeyboard =(KeyboardView)getLayoutInflater()。inflate(R.layout.keyboard1,null);        theKeyboardLayout = new Keyboard(this,R.xml.keyboardlayout);        viewOfKeyboard.setKeyboard(theKeyboardLayout);        viewOfKeyboard.setOnKeyboardActionListener(本);        返回myKeyboardView;     }     public void swipeRight()     {        如果(isQwerty)        {          myKeyboard = new Keyboard(this,R.xml.numeric);          //创建一个新的键盘对象。          myKeyboardView.setKeyboard(myKeyboard);          //将新键盘对象分配给键盘视图          myKeyboardView.invalidateAllKeys();          //使用新的布局使android重绘键盘视图。          isqwerty = false;        }        其他        {          myKeyboard = new Keyboard(this,R.xml.qwerty);          myKeyboardView.setKeyboard(myKeyboard);          myKeyboardView.invalidateAllKeys();          isqwerty = true;        }        //其余的MyKeyboard方法     }