Cata が指摘したように、独自のキーボードを作成しない限り、ソフトキーボードのキーを非表示にすることはできません。ただし、他にもいくつかのオプションがあります。
これらはどちらもキーボードからキーを隠しませんが、ユーザーが無効なキーを入力するのを防ぐために使用できます。
ユーザー入力を文字列の途中に一致させることに関する2番目の質問については、これはオートコンプリートのコードにはありません:
Android ソースからの関連コード:
for (int i = 0; i < count; i++) {
final T value = values.get(i);
final String valueText = value.toString().toLowerCase();
// First match against the whole, non-splitted value
if (valueText.startsWith(prefixString)) {
newValues.add(value);
} else {
final String[] words = valueText.split(" ");
final int wordCount = words.length;
for (int k = 0; k < wordCount; k++) {
if (words[k].startsWith(prefixString)) {
newValues.add(value);
break;
}
}
}
}
アイテム内の個々の単語の最初の文字のみに一致することがわかります。したがって、2 番目の目標を達成するには、filterable を実装する独自のアダプターを作成する必要があります。
これを始めるためのチュートリアルがあります: http://thinkandroid.wordpress.com/2010/02/08/writing-your-own-autocompletetextview/