ii_grade_search_new = (SearchView) findViewById(R.id.ii_grade_search_new); ii_grade_search_new.setSubmitButtonEnabled(true); ii_grade_search_new.setIconified(false); ii_grade_search_new.set(); //通过反射,修改默认的样式,search_view.xml try { //修改搜索按键图标 Field field = ii_grade_search_new.getClass().getDeclaredField("mSubmitButton"); field.setAccessible(true); ImageView iv = (ImageView) field.get(ii_grade_search_new); iv.setImageDrawable(context.getResources().getDrawable( R.drawable.ico_search)); //修改background // field= ii_grade_search_new.getClass().getDeclaredField("mSearchEditFrame"); // field.setAccessible(true); // View ivEdit = (View) field.get(ii_grade_search_new); // ivEdit.setBackground(context.getResources().getDrawable(R.drawable.list_border)); // //只修改搜索框样式 // Field ownField = ii_grade_search_new.getClass().getDeclaredField("mSearchPlate"); // //setAccessible 设置是否有权限访问反射类中的私有属性的,只有设置为true时才可以访问,默认为false // ownField.setAccessible(true); // View mView = (View) ownField.get(ii_grade_search_new); // mView.setBackground(context.getResources().getDrawable(R.drawable.list_border)); //修改文字颜色 int id = ii_grade_search_new.getContext().getResources().getIdentifier("android:id/search_src_text", null, null); TextView textView = (TextView) ii_grade_search_new.findViewById(id); textView.setTextColor(Color.BLACK); int ida = ii_grade_search_new.getContext().getResources().getIdentifier("android:id/search_badge", null, null); View idaView = ii_grade_search_new.findViewById(ida); idaView.setBackgroundResource(R.drawable.ico_search); //修改光标颜色 field =ii_grade_search_new.getClass().getDeclaredField("mQueryTextView"); field.setAccessible(true); Class<?> mTextViewClass = field.get(ii_grade_search_new).getClass().getSuperclass().getSuperclass().getSuperclass(); Field mCursorDrawableRes = mTextViewClass.getDeclaredField("mCursorDrawableRes"); mCursorDrawableRes.setAccessible(true); mCursorDrawableRes.set(field.get(ii_grade_search_new), R.drawable.ico_search_cursor); } catch (Exception e) { e.printStackTrace(); } ii_grade_search_new.setOnQueryTextListener(new android.widget.SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { url_search_grade = context.getString(R.string.url) + context.getString(R.string.port_user) + context.getString(R.string.url_search_grade) + GlobalParams.USERID + "&item=" + query; showSearchGradeDialog(); return true; } @Override public boolean onQueryTextChange(String newText) { return false; } }); }
android searchview设置
最新推荐文章于 2022-06-21 17:16:30 发布