Qwerty キーボードからスマイリー キーボードに切り替えるなど、ユーザーがキーボードを切り替えられるようにしようとしています。ユーザーがシフトを使用して、または iPhone で地球儀ボタンを使用して Qwerty から顔文字に切り替える方法の概念を理解するのに苦労しています。実際の「スイッチ」をコーディングする方法について混乱しています。softkeyboard SDK サンプルで以下のコードを見つけましたが、これがどのように切り替えが行われるのか疑問に思っています。
private void handleShift() {
if (mInputView == null) {
return;
}
Keyboard currentKeyboard = mInputView.getKeyboard();
if (mQwertyKeyboard == currentKeyboard) {
// Alphabet keyboard
checkToggleCapsLock();
mInputView.setShifted(mCapsLock || !mInputView.isShifted());
} else if (currentKeyboard == mSymbolsKeyboard) {
mSymbolsKeyboard.setShifted(true);
mInputView.setKeyboard(mSymbolsShiftedKeyboard);
mSymbolsShiftedKeyboard.setShifted(true);
} else if (currentKeyboard == mSymbolsShiftedKeyboard) {
mSymbolsShiftedKeyboard.setShifted(false);
mInputView.setKeyboard(mSymbolsKeyboard);
mSymbolsKeyboard.setShifted(false);
}
}
繰り返しますが、ユーザーがシフトボタンを押して絵文字に切り替え、選択したらqwertyに戻って送信できるようにするスイッチを初期化しようとしています...