我正在尝试在Android上设计自定义键盘。我注意到,Bitmoji之类的应用程序的键盘UI不仅比按键还丰富。他们可以显示登录按钮,网格视图等。我想做类似的事情。
我创建了一个键盘布局文件,但是我没有在不同的行中放置许多键,而是使用一个键制作了一行。我没有用实际的键表示那个keyIcon,而是尝试用另一种布局代替。
super_keyboard布局只是带有EditText
和ListView
的线性布局。在键盘服务类中,我加载了布局。
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:keyWidth="10%p"
android:keyHeight="60dp"
>
<Row>
<Key android:codes="49" android:keyEdgeFlags="left"
android:keyIcon="@layout/super_keyboard"/>
</Row>
</Keyboard>
这是我的服务中的onCreateInputView调用
@Override
public View onCreateInputView() {
keyboardView = (KeyboardView) getLayoutInflater().inflate(R.layout.kiwi_keyboard, null);
keyboard = new Keyboard(this, R.xml.kiwi_layout);
keyboardView.setKeyboard(keyboard);
keyboardView.setOnKeyboardActionListener(this);
return keyboardView;
}
当我激活键盘并尝试在Messenger中使用它时,什么也没出现。我已经看到了可绘制关键图标的示例。这是制作完全自定义键盘的正确方法吗?如果是,我在做什么错?如果没有,正确的方法是什么?欢迎任何帮助或建议。