アプリケーションで検索ビュー ウィジェットの「edittext」をカスタマイズしたいと考えています。プログラムで背景のドローアブルを設定したいと考えています。android:imeOptions="flagNoExtractUi"
また、ランドスケープモードでソフトキーボードが画面の半分だけをカバーするように、プログラムでフラグを追加したいと考えて います。
検索ビュー「edittext」でこのカスタマイズを行う方法を知っている人はいますか?
アプリケーションで検索ビュー ウィジェットの「edittext」をカスタマイズしたいと考えています。プログラムで背景のドローアブルを設定したいと考えています。android:imeOptions="flagNoExtractUi"
また、ランドスケープモードでソフトキーボードが画面の半分だけをカバーするように、プログラムでフラグを追加したいと考えて います。
検索ビュー「edittext」でこのカスタマイズを行う方法を知っている人はいますか?
これが私がしたことです。私abs_search_view.xml
はアクション バーのシャーロック ライブラリで勉強し、それR.id.search_plate
が LinearLayour を表すことを学びました。LinearLayout の最初の子は、クラスが であるビューですcom.actionbarsherlock.widget.SearchView$SearchAutoComplete
。そこで、最初の子を取得して にキャストcom.actionbarsherlock.widget.SearchView.SearchAutoComplete
し、null チェックをsearchText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI)
実行してから、コメントで Ahmend のアドバイスに従って ime オプションを設定しました。これが誰かに役立つことを願っています。
public static void styleSearchView(SearchView searchView, Context context) {
LinearLayout searchPlate = (LinearLayout) searchView
.findViewById(R.id.abs__search_plate);
// TODO
// searchPlate.setBackgroundResource(R.drawable.your_custom_drawable);
if (searchPlate != null)
((com.actionbarsherlock.widget.SearchView.SearchAutoComplete) searchPlate
.getChildAt(0))
.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
AutoCompleteTextView searchText = (AutoCompleteTextView) searchView
.findViewById(R.id.abs__search_src_text);
if (searchText != null)
searchText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
// TODO
// searchText.setHintTextColor(context.getResources().getColor(R.color.your_custom_color));
}