资源简介
Android自定义Toast样式和时间,在屏幕中间显示,
是使用方式:
ToastUtil.getInstance().show(str);
代码片段和文件信息
package com.petecat.jfree.utils;
import android.content.Context;
import android.os.CountDownTimer;
import android.os.Handler;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import android.util.Log;
import android.view.Gravity;
import android.widget.Toast;
import com.petecat.jfree.R;
import com.petecat.jfree.context.JfreeApplication;
public class ToastUtil {
private Toast mToast;
private TextView mTextView;
private TimeCount timeCount;
private String message;
private Handler mHandler = new Handler();
private boolean canceled = true;
public static ToastUtil getInstance() {
return ToastUtil.ToastUtils.sInstance;
}
// 静态内部类
private static class ToastUtils {
private static final ToastUtil sInstance = new ToastUtil();
}
public ToastUtil() {
}
public void init(int type) {
LayoutInflater inflater = (LayoutInflater) JfreeApplication.getAppContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//自定义布局
View view = null;
if (type == 0) {
view = inflater.inflate(R.layout.toast_center null);
} else {
view = inflater.inflate(R.layout.toast_center1 null);
}
//自定义toast文本
mTextView = (TextView) view.findViewById(R.id.toast_msg);
if (mToast == null) {
mToast = new Toast(JfreeApplication.getAppContext());
}
mToast.setGravity(Gravity.CENTER 0 0);
mToast.setDuration(Toast.LENGTH_LONG);
mToast.setView(view);
}
/**
* 自定义居中显示toast
*/
public void show(String text) {
hide();
if (mToast == null) {
init(0);
}
message = text;
mTextView.setText(text);
mToast.show();
}
/**
* 自定义时长、居中显示toast
*
* @param duration
*/
public void show(String text int duration) {
hide();
if (mToast == null) {
init(1);
}
message = text;
if (timeCount == null) {
timeCount = new TimeCount(duration 1000);
}
if (canceled) {
timeCount.start();
canceled = false;
showUntilCancel();
}
}
/**
* 隐藏toast
*/
public void hide() {
if (mToast != null) {
mToast.cancel();
mToast = null;
mTextView = null;
}
canceled = true;
if (timeCount != null) {
timeCount.cancel();
}
if (mHandler != null) {
mHandler.removeCallbacksAndMessages(null);
}
}
private void showUntilCancel() {
if (canceled) { //如果已经取消显示,就直接return
return;
}
mToast.show();
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
showUntilCancel();
}
} 2000);
}
/**
* 自定义计时器
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3598 2018-12-23 23:35 ToastUtil.java
文件 1040 2018-12-18 18:57 toast_center.xm
相关资源
- Android应用案例-《垃圾短信助手案例
- SQlite Android SQLite的应用 简易的学生成
- android人脸识别测试用例
- 百度地图 BaiduLBS_Android.jar
- android studio 编译aidl以及demo
- Android SwitchButton开关
- android ChiceScanGun.rar
- Android Flowlayout:LinearLayout内部控件自动
- android-support-design.jar包 程序文件
- 基于Android平台校园信息发布系统
- android屏幕监视器
- Android 倒计时程序源码
- android.support.design.jar-24.2.1jar、doc、s
- android源代码 蓝牙串口助手
- 我的Android进阶之旅------>Android疯狂连
- Qt仿Android的toast控件效果
- Qt + adb 实现的PC端Android文件管理软件
- Android 图片加图片logo水印文字水印
- android 转圈等待动画
- Android崩溃页面
- Android自定义锁屏实现----仿正点闹钟滑
- Android中获取正在运行的应用程序Act
- Android 心电图
- android平台联系人管理应用源码+项目项
- dtmf decoder Android rar
- Android开发 心电图绘制
- android listview点击保持背景颜色,实现
- android蓝牙聊天源代码
- android室内定位demo
- QWebSocket-for-Android-openssl库
评论
共有 条评论