Android Toast 长期显示解决方案
2010-02-24 20:17:00 来源:WEB开发网自己写了一个简化类,把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);
}
}
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
- ››Android重启运用程序的代码
- ››Android为ListView的Item设置不同的布局
- ››android bitmap与base64字符串的互相转换
更多精彩
赞助商链接