private void initSearchComponent() { // etSearch = (EditText) mView.findViewById(R.id.etHomeSearch); etSearch = new EditText(getActivity()); Drawable drawable = getResources().getDrawable(R.drawable.search_white); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); etSearch.setCompoundDrawables(drawable, null, null, null); etSearch.setTypeface(StringUtil.getTypeFaceByRegular(getActivity())); etSearch.setFocusable(true); etSearch.setHint(R.string.eventName); etSearch.setFocusableInTouchMode(true); LayoutParams params = etSearch.getLayoutParams(); if (params == null) { params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); } params.height = LayoutParams.WRAP_CONTENT; params.width = LayoutParams.MATCH_PARENT; etSearch.setLayoutParams(params); LinearLayout llSearch = new LinearLayout(getActivity()); llSearch.setPadding(3, 3, 3, 3); llSearch.addView(etSearch); plvManage.getRefreshableView().addHeaderView(llSearch); etSearch.addTextChangedListener( new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { mManageAdapter.filterEventsByText(s.toString()); } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {} @Override public void afterTextChanged(Editable s) {} }); }
/** * 设置清除图标的显示与隐藏,调用setCompoundDrawables为EditText绘制上去 * * @param visible */ protected void setClearIconVisible(boolean visible) { Drawable right = visible ? mClearDrawable : null; editText.setCompoundDrawables( editText.getCompoundDrawables()[0], editText.getCompoundDrawables()[1], right, editText.getCompoundDrawables()[3]); }
/** * 显示右侧X图片的 * * <p>左上右下 */ @Override public void setCompoundDrawables( Drawable paramDrawable1, Drawable paramDrawable2, Drawable paramDrawable3, Drawable paramDrawable4) { if (paramDrawable3 != null) this.dRight = paramDrawable3; if (paramDrawable1 != null) this.dLeft = paramDrawable1; super.setCompoundDrawables(paramDrawable1, paramDrawable2, paramDrawable3, paramDrawable4); }
@Override public void onViewStateRestored(@Nullable Bundle savedInstanceState) { super.onViewStateRestored(savedInstanceState); getToolbar().setTitle(getString(R.string.register_fragment_title)); enableBack(true); setToolbarVisibility(true); prepopulateAccount(); mEditEmail.setAdapter(ViewUtils.getEmailAddressAdapter(getBaseActivity())); mEditEmail.setCompoundDrawables( new IconDrawable(getBaseActivity(), MaterialIcons.md_email) .color(ThemeUtil.getPrimaryColor(getBaseActivity())) .actionBarSize(), null, null, null); mEditEmail.setOnFocusChangeListener( (v, hasfocus) -> { if (hasfocus) { mEditEmail.setText(""); } mEditEmail.setOnFocusChangeListener(null); }); mEditPassword.setCompoundDrawables( new IconDrawable(getBaseActivity(), MaterialIcons.md_lock_open) .color(ThemeUtil.getPrimaryColor(getBaseActivity())) .actionBarSize(), null, null, null); mEditPassword.requestFocus(); mEditPassword.setOnEditorActionListener( (v, actionId, event) -> { if (actionId == EditorInfo.IME_ACTION_DONE) { mValidator.validate(); return true; } return false; }); }