public class CustomToast{
private Handler handler;
public Toast toast;
private int LONG_SHOW=-1;
private boolean isShowing=false;
public CustomToast(Context context) {
this(context,null);
}
public CustomToast(Context context,Toast toast){
if(null==toast)
this.toast=new Toast(context);
else
this.toast=toast;
handler = new Handler();
}
public void show(){
Log.i("show","<<<<<<<<<<>>>>>>>>>>>>>>");
isShowing=true;
if(toast.getDuration()==LONG_SHOW){
toast.setDuration(Toast.LENGTH_LONG);
toast.show();
showUntilHide();
}else{
toast.show();
}
}
public void hide(){
Log.i("hide","<<<<<<<<<<>>>>>>>>>>>>>>");
if(null!=toast){
toast.cancel();
}
isShowing=false;
}
public boolean isShow(){
return isShowing;
}
private void showUntilHide(){
Log.i("showUntileHide","<<<<<<<<<<>>>>>>>>>>>>>>");
if(null==toast) return;
if(isShowing){
toast.show();
handler.postDelayed(r, 3000);
}
}
Runnable r = new Runnable(){
public void run(){
showUntilHide();
}
};
}
调用方法:
Toast toast = new Toast(TestAndroid.this);
toast.setDuration(-1);
CustomToast ct = new CustomToast(this,toast);
ct.show();
分享到:
相关推荐
这样,在需要显示Toast的地方,只需调用`ToastUtils.showShort(context, "Message")`或`ToastUtils.showLong(context, "Message")`即可。 总的来说,`Android Toast`是不受通知权限控制的,它作为一个独立的反馈...
但是, Toast 的显示时间却是一个长期以来让开发者困惑的问题。 Android 中的 Toast 提供了 setDuration(int duration) 接口,但是跟踪代码发现,设置的时间没起作用,只有系统默认的两个时间 LENGTH_DURATION = ...
- Crouton可以设置显示时长,而系统Toast只有短期和长期两种选项。 - Crouton可以限制在特定视图上显示,而系统Toast总是在屏幕中心出现。 3. **Crouton的使用步骤**: - 添加依赖:首先在项目中引入Crouton库,...
在多线程环境中,如AsyncTask或Handler,直接在非UI线程中创建和显示Toast会导致应用崩溃。因此,需要确保Toast的创建和显示都在主线程中进行,可以使用`runOnUiThread`或`Looper.getMainLooper().post`来保证这...
`Toast`不会阻塞用户的操作,也不会在屏幕上长期占用空间,因此非常适合用来提供临时的通知。 2. 创建`Toast` 要创建一个基本的`Toast`,你需要使用`Toast.makeText()`方法。这个方法接受三个参数:上下文(Context...
myToast源码中可能会包含一个名为`MyToast`的类,这个类会覆盖`makeText()`、`show()`等方法,以便在创建和显示Toast时应用自定义设置。 2. 视图构建: 自定义Toast的第一步是创建一个包含所需布局的视图。这通常...
因为要让Toast长期显示,需要另外一个线程,每隔一个时间段,就循环显示一次。 先说明一下,本次需要用到Handle机制,因此不了解或者不熟悉Handle的同学,请先去看看Android上的Handle机制! 下面开始讲解代码实现...
在Android SDK中,Toast提供了方便的方法来显示一个短期或者长期的视图,通常用于显示简短的信息。使用`makeText()`方法创建一个Toast对象,然后调用`show()`方法显示它。例如: ```java Toast.makeText(context, ...
Toast用于短暂显示提示信息,支持短时间显示和长时间显示两种模式。 以上内容覆盖了Android开发中的多个核心知识点,旨在帮助开发者全面理解Android开发的基本框架和技术细节。通过深入学习这些内容,开发者可以更...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。"ListView仿qq微信侧滑删除"是一个常见的需求,...在实现过程中,要注重代码的可读性和维护性,遵循良好的编程实践,以确保项目的长期稳定。
这个项目的名称"SimpleToast"可能来源于Android中常见的Toast组件,但它更专注于提供一种简洁易用的通知机制,而不是传统的短暂显示消息。 1. **Android通知机制**: Android的通知是通过`Notification`类来创建的...
14.5.7 长期运行的服务的实现 14.5.8 测试长期运行的服务 14.6 代码编译说明 14.6.1 从ZIP文件创建项目 14.6.2 通过代码清单创建项目 14.7 参考资料 14.8 小结 第15章 闹钟管理器 15.1 ...
14.5.7 长期运行的服务的实现 14.5.8 测试长期运行的服务 14.6 代码编译说明 14.6.1 从ZIP文件创建项目 14.6.2 通过代码清单创建项目 14.7 参考资料 14.8 小结 第15章 闹钟管理器 15.1 ...
- 使用XML布局文件:源码中会包含多个XML布局文件,用于定义屏幕上的各个组件,如TextView(显示文本)、EditText(用户输入体重)、Button(提交或保存)等。开发者可以通过调整这些布局元素的位置、大小和样式,...
通过自定义Crash处理,我们可以避免这种弹窗,转而显示一个自定义的Toast或者Dialog,以更温和的方式通知用户程序遇到了问题,同时不打断他们的使用体验。 2. **收集Crash信息**:在自定义的Crash处理器中,我们...
### Android开发技巧合集 #### 一、ANDROID常用类库说明 ...Toast用于显示短暂的信息提示,支持设置显示时长。 以上内容涵盖了Android开发中的关键技术和知识点,希望对初次接触Android的同学有所帮助。
5. 提示信息(Toast):短暂显示通知或提示。 6. 模态对话框(Modal):全屏或半屏覆盖,用于显示重要信息或进行操作确认。 **迁移到更新的解决方案** 由于`generator-riot-mobile`不再维护,开发者应考虑转向其他...