Skip to content

Instantly share code, notes, and snippets.

Revisions

  1. EJunWhite created this gist Jul 17, 2019.
    52 changes: 52 additions & 0 deletions SnackBar Show and Hide when keyboard is showing
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,52 @@
    Snackbar snackbar;

    mBinding.searchEdit.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    hideSnackBar();
    }
    });

    mBinding.searchEdit.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
    hideSnackBar();
    }
    });


    void showSnackBar(View view, String message, int duration) {
    hideSnackBar();

    if (snackbar == null) {
    snackbar = Snackbar.make(view, message, duration);
    }

    snackbar.setActionTextColor(getResources().getColor(android.R.color.white));
    View snackbarView = snackbar.getView();

    int snackbarTextId = android.support.design.R.id.snackbar_text;
    TextView textView = (TextView) snackbarView.findViewById(snackbarTextId);

    // FIXME : Fixed Font
    Typeface custom_font = ResourcesCompat.getFont(getActivity(), com.ejun.library.R.font.noto_sans_kr_regular);
    textView.setIncludeFontPadding(false);
    textView.setTypeface(custom_font);

    textView.setTextColor(getActivity().getResources().getColor(android.R.color.white));

    snackbarView.setBackgroundColor(Color.BLACK);

    snackbar.getView().setVisibility(View.VISIBLE);
    snackbar.show();
    }

    void hideSnackBar() {
    if (snackbar != null) {
    snackbar.getView().setVisibility(View.GONE);
    snackbar.dismiss();
    }
    snackbar = null;
    }