我正在开发自定义键盘应用程序。我需要在 KeyboardView 类中为键或背景颜色设置不同的主题,并在 SoftKeyboard 扩展 InputMethodService 类的 onCreateInputView() 处获取键颜色。
但是,我不知道如何根据键码获取特定键,因此我可以更改特定键的颜色或背景。
我正在开发自定义键盘应用程序。我需要在 KeyboardView 类中为键或背景颜色设置不同的主题,并在 SoftKeyboard 扩展 InputMethodService 类的 onCreateInputView() 处获取键颜色。
但是,我不知道如何根据键码获取特定键,因此我可以更改特定键的颜色或背景。
在任何不同的输入布局上使用 android:keyBackground=".."
例子:
输入.xml:
<com.example.KeyboardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/keyboard"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:keyBackground="@drawable/blue_key"
/>
输入1.xml:
<com.example.KeyboardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/keyboard"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:keyBackground="@drawable/red_key"
/>
然后在 OnCreateInputView 方法上:
@Override public View onCreateInputView() {
if(theme == 1)
mInputView = (KeyboardView) getLayoutInflater().inflate(R.xml.input , null);
else
mInputView = (KeyboardView) getLayoutInflater().inflate(R.xml.input1 , null);
mInputView.setOnKeyboardActionListener( this);
mInputView.setKeyboard(mQwertyKeyboard);
mComposing.setLength(0);
return mInputView;
}
并在 onStartInput 方法的末尾添加:
setInputView(onCreateInputView());
如果您已经这样做了,并且您需要为特殊键设置不同的背景。也许我写的问题的解决方案会对您有所帮助:https ://stackoverflow.com/a/18354298/2683898
祝你好运!:)