Как указал Cata, вы не сможете скрыть клавиши на программной клавиатуре, пока не напишите свою собственную клавиатуру - у вас есть пара других опций:
Оба эти параметра не будут скрывать клавиши от клавиатуры, но вы можете использовать их, чтобы запретить пользователю вводить недействительные клавиши.
Что касается вашего второго вопроса о сопоставлении пользовательского ввода с серединой строки, то этого нет в коде автозаполнения:
Соответствующий код из источника 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;
}
}
}
}
Вы можете видеть, что он будет соответствовать только первым символам любого отдельного слова в элементе.Поэтому для достижения второй цели вам нужно написать собственный адаптер, который реализует фильтруемость.
Вот учебник, с которого можно начать: http://thinkandroid.wordpress.com/2010/02/08/writing-your-own-autocompletetextview/