自定义toast
2015-11-03 12:05
381 查看
public class GCSimpleToast { private static LayoutInflater mInflater; private static Toast mToast; private static View mView; public static void ok(Context context, String msg) { mInflater = LayoutInflater.from(context); mView = mInflater.inflate(R.layout.toast_ok, null); initSetTextViewMsg(msg); mToast = new Toast(context); mToast.setView(mView); mToast.setDuration(Toast.LENGTH_SHORT); mToast.show(); }
1,准备好你将需要的布局
private static TextView initSetTextViewMsg(String msg) {
TextView mTextView = (TextView) mView.findViewById(R.id.tv_toast);
mTextView.setText(msg);
return mTextView;
}
2,toast信息
public enum BGToast {
OK,//蓝色
ERROR,//红色
INFO,//绿色
MUTED,//灰色
WARNING//橙色
}
public static void configBG(BGToast bgToast, String message) {
switch (bgToast) {
case OK:
GCSimpleToast.ok(GCApp.getInstance(), message);
break;
case ERROR:
GCSimpleToast.error(GCApp.getInstance(), message);
break;
case INFO:
GCSimpleToast.info(GCApp.getInstance(), message);
break;
case MUTED:
GCSimpleToast.muted(GCApp.getInstance(), message);
break;
case WARNING:
GCSimpleToast.warning(GCApp.getInstance(), message);
break;
}
}
3,枚举,选择需要的样式
public void showMessage(final String message) {
runOnUiThread(new Runnable() {
@Override
public void run() {
GCSimpleToast.info(GCBaseFragmentActivity.this, message);
}
});
}
public void showMessage(final String message, final GCSimpleToast.BGToast type) { runOnUiThread(new Runnable() { @Override public void run() { GCSimpleToast.configBG(type, message); } }); }
4,在基类里封装一下
showMessage(getResources().getString(R.string.toast_new_version), GCSimpleToast.BGToast.INFO);
showMessage(getResources().getString(R.string.toast_new_version));
5,使用。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories