MenuItem searchItem = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); SearchView.SearchAutoComplete theTextArea = (SearchView.SearchAutoComplete) searchView.findViewById(R.id.search_src_text); theTextArea.setTextColor(getResources().getColor(R.color.yourColor));
SearchView searchView = (SearchView) findViewById(R.id.search); EditText searchEditText = (EditText) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text); searchEditText.setTextColor(getResources().getColor(R.color.white)); searchEditText.setHintTextColor(getResources().getColor(R.color.white));
SearchView sv = ...; // get your search view instance in onCreateOptionsMenu // prefix identifier with "android:" if you're using native SearchView TextView tv = sv.findViewById(getResources().getIdentifier("id/search_src_text", null, null)); tv.setTextColor(Color.GREEN); // and of course specify your own color
SearchView searchView = new SearchView(getContext()); SearchView.SearchAutoComplete theTextArea = (SearchView.SearchAutoComplete)searchView.findViewById(R.id.search_src_text); theTextArea.setTextColor(Color.WHITE);//or any color that you want
@Override public void onPrepareOptionsMenu(Menu menu) { MenuItem searchViewMenuItem = menu.findItem(R.id.main_menu_action_search); SearchView mSearchView = (SearchView) MenuItemCompat.getActionView(searchViewMenuItem); int searchImgId = android.support.v7.appcompat.R.id.search_button; // I used the explicit layout ID of searchview's ImageView ImageView v = (ImageView) mSearchView.findViewById(searchImgId); v.setImageResource(R.drawable.search_btn); super.onPrepareOptionsMenu(menu); }
public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); // Getting SearchView from XML layout by id defined there - my_search_view in this case SearchView searchView = (SearchView) menu.findItem(R.id.my_search_view).getActionView(); // Getting id for 'search_plate' - the id is part of generate R file, // so we have to get id on runtime. int searchPlateId = searchView.getContext().getResources().getIdentifier("android:id/search_plate", null, null); // Getting the 'search_plate' LinearLayout. View searchPlate = searchView.findViewById(searchPlateId); // Setting background of 'search_plate' to earlier defined drawable. searchPlate.setBackgroundResource(R.drawable.textfield_searchview_holo_light); return super.onCreateOptionsMenu(menu); } }
private void setupSearchView(SearchView searchView) { // search hint searchView.setQueryHint(getString(R.string.fragment_address_search_hint)); // background View searchPlate = searchView.findViewById(android.support.v7.appcompat.R.id.search_plate); searchPlate.setBackgroundResource(R.drawable.searchview_bg); // icon ImageView searchIcon = (ImageView) searchView.findViewById(android.support.v7.appcompat.R.id.search_mag_icon); searchIcon.setImageResource(R.drawable.searchview_icon); // clear button ImageView searchClose = (ImageView) searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn); searchClose.setImageResource(R.drawable.searchview_clear); // text color AutoCompleteTextView searchText = (AutoCompleteTextView) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text); searchText.setTextColor(getResources().getColor(R.color.global_text_primary)); searchText.setHintTextColor(getResources().getColor(R.color.global_text_secondary)); }
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.entity_list_actions, menu); final SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView(); final int textViewID = searchView.getContext().getResources().getIdentifier("android:id/search_src_text",null, null); final AutoCompleteTextView searchTextView = (AutoCompleteTextView) searchView.findViewById(textViewID); try { Field mCursorDrawableRes = TextView.class.getDeclaredField("mCursorDrawableRes"); mCursorDrawableRes.setAccessible(true); mCursorDrawableRes.set(searchTextView, 0); //This sets the cursor resource ID to 0 or @null which will make it visible on white background } catch (Exception e) {} return super.onCreateOptionsMenu(menu); }
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); SearchView.SearchAutoComplete searchAutoComplete = (SearchView.SearchAutoComplete)searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text); searchAutoComplete.setHintTextColor(Color.WHITE); searchAutoComplete.setTextColor(Color.WHITE); View searchplate = (View)searchView.findViewById(android.support.v7.appcompat.R.id.search_plate); searchplate.setBackgroundResource(R.drawable.texfield_searchview_holo_light); ImageView searchCloseIcon = (ImageView)searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn); searchCloseIcon.setImageResource(R.drawable.abc_ic_clear_normal); ImageView voiceIcon = (ImageView)searchView.findViewById(android.support.v7.appcompat.R.id.search_voice_btn); voiceIcon.setImageResource(R.drawable.abc_ic_voice_search); ImageView searchIcon = (ImageView)searchView.findViewById(android.support.v7.appcompat.R.id.search_mag_icon); searchIcon.setImageResource(R.drawable.abc_ic_search);
SearchView searchView = new SearchView(context); AutoCompleteTextView search_text = (AutoCompleteTextView) searchView.findViewById(searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null)); search_text.setTextColor(Color.WHITE); search_text.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimensionPixelSize(R.dimen.text_small));
public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_contacts, menu); SearchManager manager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); SearchView search = (SearchView) menu.findItem(R.id.action_search).getActionView(); search.setSearchableInfo(manager.getSearchableInfo(getComponentName())); AutoCompleteTextView searchTextView = (AutoCompleteTextView) search.findViewById(android.support.v7.appcompat.R.id.search_src_text); try { Field mCursorDrawableRes = TextView.class.getDeclaredField("mCursorDrawableRes"); mCursorDrawableRes.setAccessible(true); mCursorDrawableRes.set(searchTextView, R.drawable.cursor); //This sets the cursor resource ID to 0 or @null which will make it visible on white background } catch (Exception e) { } return super.onCreateOptionsMenu(menu); }
public static void styleSearchView(SearchView searchView, Context context) { View searchPlate = searchView.findViewById(R.id.abs__search_plate); searchPlate.setBackgroundResource(R.drawable.your_custom_drawable); AutoCompleteTextView searchText = (AutoCompleteTextView) searchView.findViewById(R.id.abs__search_src_text); searchText.setHintTextColor(context.getResources().getColor(R.color.your_custom_color)); }
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.option, menu); SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView(); int linlayId = getResources().getIdentifier("android:id/search_plate", null, null); ViewGroup v = (ViewGroup) searchView.findViewById(linlayId); v.setBackgroundResource(R.drawable.searchviewredversion); return super.onCreateOptionsMenu(menu); }
SearchView searchView= (SearchView) findViewById(R.id.searchView1); int id = searchView.getContext() .getResources() .getIdentifier("android:id/search_src_text", null, null); TextView textView = (TextView) searchView.findViewById(id); textView.setTextColor(Color.WHITE);
// obtain action bar ActionBar actionBar = getSupportActionBar(); // find SearchView (im my case it's in a custom layout because of left alignment) View v = actionBar.getCustomView(); SearchView searchView = (SearchView)v.findViewById(R.id.search_view); ImageView icon = (ImageView)searchView.findViewById(android.support.v7.appcompat.R.id.search_mag_icon); // method 1: does not work persistently, because the next line // should be probably called after every manipulation with SearchView // icon.setVisibility(View.GONE); // method 2: working code icon.setAdjustViewBounds(true); icon.setMaxWidth(0); icon.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); icon.setImageDrawable(null);
final AutoCompleteTextView searchEditText = (AutoCompleteTextView) searchView.findViewById(searchEditTextId); final View dropDownAnchor = searchView.findViewById(searchEditText.getDropDownAnchor()); if (dropDownAnchor != null) { dropDownAnchor.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView(); searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); int searchPlateId = searchView.getContext().getResources().getIdentifier("android:id/search_plate", null, null); searchView.findViewById(searchPlateId).setBackgroundResource(R.drawable.textfield_search_selected); int voiceSearchPlateId = searchView.getContext().getResources().getIdentifier("android:id/submit_area", null, null); searchView.findViewById(voiceSearchPlateId).setBackgroundResource(R.drawable.textfield_search_right_selected); // change hint color int searchTextViewId = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null); TextView searchTextView = (TextView) searchView.findViewById(searchTextViewId); searchTextView.setHintTextColor(getResources().getColor(R.color.light_grey));
public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.search_menu, menu); MenuItem searchItem = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); // Theme the SearchView's AutoCompleteTextView drop down. For some reason this wasn't working in styles.xml SearchAutoComplete autoCompleteTextView = (SearchAutoComplete) searchView.findViewById(R.id.search_src_text); if (autoCompleteTextView != null) { autoCompleteTextView.setDropDownBackgroundResource(R.drawable.abc_search_dropdown_light); } }
public static void customActionBarSearchViewTextColor(SearchView searchView) { int id = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null); TextView textView = (TextView) searchView.findViewById(id); textView.setTextColor(Color.WHITE); }
SearchView c = findViewById(R.id.searchView); EditText e = (EditText)c.findViewById(c.getContext().getResources().getIdentifier("android:id/search_src_text", null, null)); e.setBackgroundColor(Color.BLACK); //←If you just want a color e.setBackground(getResources().getDrawable(R.drawable.YOUR_DRAWABLE)); //↑ If you want a drawable ↑