2016-08-24 13 views
2

私はバックグラウンド描画可能な検索ビューを持っていますが、試しても表示されないようです。 SearchViewにはテキストは表示されません。SearchViewにqueryHintのテキストが表示されない

私はandroid:textandroid:queryHintを試しましたが、mSearchView.setQueryHintText("search for something");を使ってプログラムで設定しましたが、これらの作業は一切行っていません。 searchViewは、actionBar内にありません。ここで

は(searchViewが半透明である)私は、背景を設定しない場合は、私はまったくsearchViewが表示されないsearchview

<android.support.v7.widget.SearchView 
     android:id="@+id/m_search_view" 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/searchbar_height" 
     android:layout_alignWithParentIfMissing="true" 
     android:layout_toLeftOf="@+id/other_button" 
     android:background="@drawable/rounded_corner_box" 
     android:focusableInTouchMode="true" 
     android:gravity="center_vertical|left" 
     android:paddingLeft="@dimen/left_padding" 
     android:queryHint="search for something" 
     android:textAppearance="@style/m_text_appearance" 
     android:textColor="@color/m_text_color" /> 

ためのXMLです。

ご協力いただければ幸いです。

+0

あなたはおそらく、あなたが アンドロイドのように、アプリとAndroidでプロパティを設定する必要があり、サポートライブラリからSearchViewを使用している:queryHintは=「何かを検索」と アプリ:queryHintは=「何かを探し、」 – jonathanrz

答えて

2

私自身の問題を修正しました。SearchViewのソースを掘り下げなければなりませんでした。 XMLで

SearchView searchView = (SearchView)mLayout.findViewById(R.id.m_searchview); 
searchView.setQueryHint("search for something"); 
View searchTextView = searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text); 
searchTextView.setBackground(
ResourcesCompat.getDrawable(getResources(), R.drawable. rounded_corner_box, getTheme())); 
View searchFrame = searchView.findViewById(android.support.v7.appcompat.R.id.search_edit_frame); 
searchFrame.setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.m_background, getTheme())); 
4
searchView.setIconified(false); 
+0

なぜこれがします作業?検索ビューはonClickリスナーイベントを受信しましたが、キーボード(InputMethod)を表示しておらず、キーボードを表示するときにクエリを入力することもできませんでした。 – KGCybeX

0

を、あなたはすでにandroid:queryHintの値を設定している場合android:iconifiedByDefault="false"を追加します。これは私がsearchViewに表示する背景とテキストを得た方法です。

関連する問題