Toast
A toast is a view containing a quick little message for the user. We can also customize it! It will never receive focus. It means showing a toast will not break user’s operation.
Common methods
Toast.makeText(context, text, duration)
- Return a toastToast.setDuration(duration)
- Set duration timeToast.setGravity(gravity, xOffset, yOffset)
- Set position of toastToast.setText(s)
- Set content of toastToast.show()
- Show toast (Don’t forget!!)
Example
// Toast by default
public void ToastA(View view) {
Toast.makeText(this, "Toast By Default", Toast.LENGTH_LONG)
.show();
}
// Change toast's position
public void ToastB(View view) {
Toast toast = Toast.makeText(this, "Toast Gravity", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}
// Add image in toast
public void ToastC(View view) {
Toast toast = Toast.makeText(this, "Toast Image", Toast.LENGTH_LONG);
LinearLayout toast_layout = (LinearLayout) toast.getView();
ImageView iv = new ImageView(this);
iv.setImageResource(R.mipmap.ic_launcher);
toast_layout.addView(iv);
// toast_layout.addView(iv, 0); // Put image above toast message
toast.show();
}
// Customize toast
public void ToastD(View view) {
LayoutInflater i = LayoutInflater.from(this);
Toast toast = new Toast(this);
toast.setView(i.inflate(R.layout.toast, null));
toast.show();
}
toast.xml for customized toast
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="30dp"
android:layout_height="match_parent"
android:gravity="center"
android:text="This is a custom toast"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:text="Content"/>
</LinearLayout>