1 package com.cyanogenmod.eleven.utils;
3 import android.app.Activity;
4 import android.view.Gravity;
5 import android.view.LayoutInflater;
6 import android.view.View;
7 import android.widget.TextView;
8 import android.widget.Toast;
9 import com.cyanogenmod.eleven.R;
12 * Ancillary utilities class to customize the appearance of Toast messages
14 public class CustomToast {
16 public static final int LENGTH_LONG = Toast.LENGTH_LONG;
17 public static final int LENGTH_SHORT = Toast.LENGTH_SHORT;
20 private TextView mTextView;
22 public CustomToast(Activity activity, String message) {
23 mToast = new Toast( activity.getApplicationContext() );
24 LayoutInflater layoutInflater = activity.getLayoutInflater();
25 View toastView = layoutInflater.inflate(R.layout.custom_toast, null);
26 mToast.setView(toastView);
28 mTextView = (TextView) toastView.findViewById(R.id.toast_text_view);
29 if (message != null) {
30 mTextView.setText(message);
34 // centered with an offset in y expressed as % of display height
35 int displayHeight = activity.getWindow().getDecorView().getHeight();
36 int heightOffset = (int)(0.30 * displayHeight);
37 mToast.setGravity(Gravity.CENTER_HORIZONTAL, 0, heightOffset);
41 public static CustomToast makeText(Activity context, String text, int duration) {
42 CustomToast customToast = new CustomToast(context, text);
43 if (duration == CustomToast.LENGTH_LONG)
44 customToast.setDuration(duration);
46 customToast.setDuration(CustomToast.LENGTH_SHORT);
51 public void setDuration(int duration) {
52 mToast.setDuration(duration);
55 public void setMessage(String message) {
56 mTextView.setText(message);