3

アプリケーションで検索ビュー ウィジェットの「edittext」をカスタマイズしたいと考えています。プログラムで背景のドローアブルを設定したいと考えています。android:imeOptions="flagNoExtractUi"また、ランドスケープモードでソフトキーボードが画面の半分だけをカバーするように、プログラムでフラグを追加したいと考えて います。

検索ビュー「edittext」でこのカスタマイズを行う方法を知っている人はいますか?

検索ビュー

4

1 に答える 1

1

これが私がしたことです。私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));
}

ここに画像の説明を入力

于 2013-10-14T10:51:44.167 に答える