検索ビュー コンポーネント内に表示される Mag アイコンを無効にしたい。それを参照して削除するか、別のドローアブルに置き換える方法はありますか?
24223 次
10 に答える
7
このアイコンがヒントです。したがって、新しいヒント テキストを簡単に設定できます。
int searchPlateId = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null);
EditText searchPlate = (EditText) searchView.findViewById(searchPlateId);
searchPlate.setHint("Search");
アイコンをヒント テキストとして使用する場合は、ImageSpan でスパン可能な文字列を使用します
int searchPlateId = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null);
EditText searchPlate = (EditText) searchView.findViewById(searchPlateId);
searchPlate.setTextColor(getResources().getColor(R.color.search_text_color));
SpannableString string = new SpannableString(" ");
Drawable d = getResources().getDrawable(R.drawable.ic_search);
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BOTTOM);
string.setSpan(span, 0, 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
searchPlate.setHint(string);
于 2015-01-26T10:45:10.660 に答える
5
あなたのテーマで:
<style name="Theme" parent="Your parent theme">
<item name="android:searchViewSearchIcon">@android:drawable/ic_search</item>
</style>
編集:
searchViewSearchIcon
プライベート属性です。したがって、この回答は機能しません (ネイティブ ActionBar では)。
于 2012-12-22T20:22:33.520 に答える
3
この行を MenuItem に追加する必要がありますandroid:iconifiedByDefault="@android:color/transparent"
<item
android:id="@+id/activity_home_action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/activity_home_search_title"
android:iconifiedByDefault="@android:color/transparent"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always|collapseActionView" />
または、プログラムで作成できますsearchView.setIconifiedByDefault(true);
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
getMenuInflater().inflate(R.menu.home, menu);
MenuItem searchMenuItem = menu.findItem(R.id.activity_home_action_search);
SearchView searchView = (SearchView) searchMenuItem.getActionView();
searchView.setIconifiedByDefault(true);
}
于 2016-05-18T15:28:21.730 に答える
2
ヒント検索ボタンを削除するには:
mNearMeSearchBar = (SearchView) mView.findViewById(R.id.nearme_search_component_nearme_edittext);
mNearMeSearchBar.setIconifiedByDefault(false); //Removes Search Hint Icon
検索ボタンのドローアブルを変更するには:
int searchImgId = getResources().getIdentifier("android:id/search_mag_icon", null, null);
ImageView v = (ImageView) mNearMeSearchBar.findViewById(searchImgId);
v.setImageResource(R.drawable.ic_compass);
于 2015-10-12T14:19:58.267 に答える
0
searchView コンポーネントの xml に next を追加します。
app:searchHintIcon="@null"
于 2017-10-11T18:12:53.620 に答える