web-dev-qa-db-ja.com

Android SearchView setデフォルトで展開

私は現在、Android最小APIレベル8のStudioを使用してシンプルなアプリを開発しています。現在、Android.support.v7.widget.SearchView in LinearLayout in content_main.xmlレイアウト、ACTIONBARではなく、今問題は、デフォルトでsearchViewをExpandedに設定できないことです。すでに解決策を探しており、これしか得られません。

Android:iconifiedByDefault="false"

これは私のsearchViewの完全なコードです

          <Android.support.v7.widget.SearchView
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:id="@+id/searchView"
            Android:background="#00000000"
            Android:iconifiedByDefault="false"
            Android:layout_weight="1" />

しかし運が悪い、それは機能していません。誰でも手伝ってくれる?任意の助けいただければ幸いです。どうもありがとうございます!

14
bernzkie

はい、問題を解決しました。 SearchViewのサポートライブラリを使用したい方は、ここでカスタマイズできます。

          <Android.support.v7.widget.SearchView
            Android:id="@+id/searchView"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"

            app:closeIcon="@drawable/ic_clear" // To set custom clear icon

            app:searchIcon="@drawable/ic_search" //To set custom search icon

            app:queryBackground="@color/transparent" // i decided to remove underline so i create a custom background for my searchView

            app:queryHint="@string/filterHint" //to set a custom Hint


            app:iconifiedByDefault="false" //And finally, to Expand it as default

            />

私が言ったように、私はJavaコードを介してランタイムでxmlレイアウトをオーバーライドすることを恐れているので、それを整理してランタイム中にこれ以上オーバーライドしないようにするために、これは私がそれを行う方法です。

参考

手伝ってくれてありがとう!!!

39
bernzkie

以下のコードを使用して、searchviewを展開し、同時にカーソルを配置しました。

final SearchView sv = new SearchView(((MainActivity) getActivity()).getSupportActionBar().getThemedContext());
        sv.setIconifiedByDefault(true);
        sv.setFocusable(true);
        sv.setIconified(false);
        sv.clearFocus();
        sv.requestFocusFromTouch();
7
TharakaNirmana

SearchViewをデフォルトで展開するには、初期化時に(たとえばonCreate(..)で)setIconifiedByDefault(false)を呼び出します。ほとんどの場合、これにより自動的にフォーカスが与えられますが、単純にrequestFocus()を呼び出さない場合はその上にも。

1
Rajan Bhavsar