我正在创建自定义键盘.我从Here那里得到了这么好的有用的演示.我想创建多个键盘主题,所以我为键盘创建另一个布局,但现在问题是我不知道如何设置当前键盘的布局或必须新加载键盘或必须做其他事情..改变键盘的设计没有任何想法.
我的概念是用户必须从活动中选择键盘主题,键盘设计会发生变化.
任何人都可以帮助我或有任何想法解决这个问题..?
解决方法:
获取解决方案以更改自定义键盘的布局.
键盘第一次加载onCreateInputView()时调用.之后当键盘打开onStartInputView(EditorInfo属性,布尔重启)时每次调用.
所以,现在键盘(Theme)的布局必须在onCreateInputView()中定义
public KeyboardView mInputView;
public View onCreateInputView() {
SharedPreferences pre = getSharedPreferences("test", 1);
int theme = pre.getInt("theme", 1);
if(theme == 1)
{
this.mInputView = (KeyboardView) this.getLayoutInflater().inflate(R.layout.input, null);
}else
{
this.mInputView = (KeyboardView) this.getLayoutInflater().inflate(R.layout.input_2, null);
}
this.mInputView.setOnKeyboardActionListener(this);
this.mInputView.setKeyboard(this.mQwertyKeyboard);
return this.mInputView;
}
并在onStartInputView中执行此操作
public void onStartInputView(EditorInfo attribute, boolean restarting) {
super.onStartInputView(attribute, restarting);
setInputView(onCreateInputView());
}