WEB开发网
开发学院手机开发Android 开发 Android Toast 长期显示解决方案 阅读

Android Toast 长期显示解决方案

 2010-02-24 20:17:00 来源:WEB开发网   
核心提示:自己写了一个简化类,把Toast封装在里面,Android Toast 长期显示解决方案,可以满足基本应用,public class MyToast {private static final String TAG = "MyToast";public static final int LENGTH

自己写了一个简化类,把Toast封装在里面,可以满足基本应用。

public class MyToast {

private static final String TAG = "MyToast";

public static final int LENGTH_MAX = -1; //show until hide() function invoked

boolean mCanceled = true;

Handler mHandler;

Context mContext;

Toast mToast;

public MyToast(Context context) {

this(context,new Handler());

}

public MyToast(Context context,Handler h) {

mContext = context;

mHandler = h;

mToast = Toast.makeText(mContext,"",Toast.LENGTH_SHORT);

mToast.setGravity(Gravity.BOTTOM, 0, 0);

}

public void show(int resId,int duration) {

mToast.setText(resId);

if(duration != LENGTH_MAX) {

mToast.setDuration(duration);

mToast.show();

} else if(mCanceled) {

mToast.setDuration(Toast.LENGTH_LONG);

mCanceled = false;

showUntilCancel();

}

}

public void show(String text,int duration) {

mToast.setText(text);

if(duration != LENGTH_MAX) {

mToast.setDuration(duration);

mToast.show();

} else {

if(mCanceled) {

mToast.setDuration(Toast.LENGTH_LONG);

mCanceled = false;

showUntilCancel();

}

}

}

public void hide() {

Log.d(TAG,"hide");

mToast.cancel();

mCanceled = true;

}

public boolean isShowing() {

return !mCanceled;

}

private void showUntilCancel() {

if(mCanceled)

return;

mToast.show();

mHandler.postDelayed(new Runnable() {

public void run() {

showUntilCancel();

}

},3000);

}

}

Tags:Android Toast 长期

编辑录入:coldstar [复制链接] [打 印]
赞助商链接