提案を横向きに表示するには、次のいずれかを行う必要があります。
SUGGEST_COLUMN_QUERY提案結果に追加
android:searchMode="queryRewriteFromText"または ``android:searchMode="queryRewriteFromData" to yoursearchable.xml`を追加します
ただし、提案としては、フルスクリーン キーボードではなく、通常のポップアップを表示する方がよいと思います。に追加することでこれを実現できandroid:imeOptions="flagNoExtractUi"ますsearchable.xml。
それだけです。興味がある場合は、これを追跡した方法を次に示します。
Hierarchy Viewerは、検索ダイアログが によって実装されていることを通知します。これは、補完テキスト ビューにSearchDialogを使用します。AutoCompleteTextViewそのbuildDropDown()関数は、 によって返されたアイテムに対してFilter.convertResultToString()( を介して) を呼び出し、これらを (必要な提案を担当する) に渡します。convertSelectionToString()AutoCompleteTextViewmAdapter.getItem()InputMethodManager.displayCompletions()
の場合SearchDialog、アダプタはSuggestionsAdapter. これは のサブクラスでありCursorAdapter、そのgetFilter()メソッドはクラスを返します。このクラスは、アダプタ クラスに委譲するだけCursorFilterで実装されます。最後に、このメソッドを次のように実装します。convertResultToString()convertToString()SuggestionsAdapter
public CharSequence convertToString(Cursor cursor) {
if (cursor == null) {
return null;
}
String query = getColumnString(cursor, SearchManager.SUGGEST_COLUMN_QUERY);
if (query != null) {
return query;
}
if (mSearchable.shouldRewriteQueryFromData()) {
String data = getColumnString(cursor, SearchManager.SUGGEST_COLUMN_INTENT_DATA);
if (data != null) {
return data;
}
}
if (mSearchable.shouldRewriteQueryFromText()) {
String text1 = getColumnString(cursor, SearchManager.SUGGEST_COLUMN_TEXT_1);
if (text1 != null) {
return text1;
}
}
return null;
}
…これにより、上記の最初の段落の推奨事項が得られます。