com.actionbarsherlock.internal.widget.IcsToast Maven / Gradle / Ivy
package com.actionbarsherlock.internal.widget;
import android.content.Context;
import android.util.Log;
import android.view.Gravity;
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.widget.TextView;
import android.widget.Toast;
import com.actionbarsherlock.R;
public class IcsToast extends Toast {
public static final int LENGTH_LONG = Toast.LENGTH_LONG;
public static final int LENGTH_SHORT = Toast.LENGTH_SHORT;
private static final String TAG = "Toast";
public static Toast makeText(Context context, CharSequence s, int duration) {
if (VERSION.SDK_INT >= VERSION_CODES.ICE_CREAM_SANDWICH) {
return Toast.makeText(context, s, duration);
}
IcsToast toast = new IcsToast(context);
toast.setDuration(duration);
TextView view = new TextView(context);
view.setText(s);
// Original AOSP using reference on @android:color/bright_foreground_dark
// bright_foreground_dark - reference on @android:color/background_light
// background_light - 0xffffffff
view.setTextColor(0xffffffff);
view.setGravity(Gravity.CENTER);
view.setBackgroundResource(R.drawable.abs__toast_frame);
toast.setView(view);
return toast;
}
public static Toast makeText(Context context, int resId, int duration) {
return makeText(context, context.getResources().getString(resId), duration);
}
public IcsToast(Context context) {
super(context);
}
@Override
public void setText(CharSequence s) {
if (VERSION.SDK_INT >= VERSION_CODES.ICE_CREAM_SANDWICH) {
super.setText(s);
return;
}
if (getView() == null) {
return;
}
try {
((TextView) getView()).setText(s);
} catch (ClassCastException e) {
Log.e(TAG, "This Toast was not created with IcsToast.makeText", e);
}
}
}