我想知道如何在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方法
}