Created
July 19, 2017 11:17
-
-
Save francisnnumbi/b94630f9fe055d781ea2335c59910f3d to your computer and use it in GitHub Desktop.
An implementation of a Snackbar on which Imageview is added.
It is the same Snackbar. I retrieved its view, cast into layout and added Imageview private void popInfo(View view, String info) { Snacker sn = Snacker.build(view, info, Snacker.INDEFINITE); sn.getView().setBackgroundColor(Color.CYAN); sn.setImageResource(R.drawable.ic_launcher); sn.se…
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import android.support.design.widget.Snackbar; | |
import android.view.View; | |
import android.widget.TextView; | |
import android.view.View.OnClickListener; | |
import android.graphics.drawable.Drawable; | |
import android.widget.ImageView; | |
import android.graphics.drawable.Icon; | |
import android.graphics.Bitmap; | |
public class Snacker | |
{ | |
private Snackbar mSnackbar; | |
public static int SHORT = Snackbar.LENGTH_SHORT, | |
LONG = Snackbar.LENGTH_LONG, | |
INDEFINITE = Snackbar.LENGTH_INDEFINITE; | |
private static Snacker mSnacker = new Snacker(); | |
public static Snacker build(View view, CharSequence text, int duration){ | |
mSnacker.mSnackbar = Snackbar.make(view, text, duration); | |
return mSnacker; | |
} | |
public static Snacker setAction(CharSequence action, OnClickListener listener){ | |
mSnacker.mSnackbar.setAction(action, listener); | |
return mSnacker; | |
} | |
public View getView(){ | |
return mSnackbar.getView(); | |
} | |
private ImageView imageView(){ | |
Snackbar.SnackbarLayout l = (Snackbar.SnackbarLayout) getView(); | |
ImageView iv = new ImageView(l.getContext()); | |
l.addView(iv, 0); | |
return iv; | |
} | |
public void setDrawableImage(Drawable drawable){ | |
imageView().setImageDrawable(drawable); | |
} | |
public void setImageResource(int resId){ | |
imageView().setImageResource(resId); | |
} | |
public void setIcon(Icon icn){ | |
imageView().setImageIcon(icn); | |
} | |
public void setImageBitmap(Bitmap bmp){ | |
imageView().setImageBitmap(bmp); | |
} | |
public TextView textInfo(){ | |
return (TextView)mSnackbar.getView().findViewById(android.support.design.R.id.snackbar_text); | |
} | |
public TextView textAction(){ | |
return (TextView)mSnackbar.getView().findViewById(android.support.design.R.id.snackbar_action); | |
} | |
public void pop(){ | |
mSnackbar.show(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment