3

バックグラウンド ドローアブルを使用した検索ビューがありますが、何を試してもテキストが表示されないようです。SearchView にテキストが表示されません。

私は試してみましたが、android:textプログラムandroid:queryHintで設定することもできましmSearchView.setQueryHintText("search for something");たが、これらはどれも機能しませんでした。searchView は actionBar 内にありません。

これがsearchviewのxmlです

<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" />

背景を設定しないと、searchView がまったく表示されません (searchView は半透明です)。

どんな助けでも大歓迎です。

4

6 に答える 6

4

私自身の問題を修正しました: SearchView のソースを掘り下げる必要がありました。これは、searchView に表示する背景とテキストを取得する方法です。

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()));
于 2016-08-25T05:20:30.780 に答える