`
syab11
  • 浏览: 201377 次
  • 性别: Icon_minigender_1
  • 来自: SH
社区版块
存档分类
最新评论

实现长期显示的toast

 
阅读更多

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();
 
分享到:
评论

相关推荐

    Android-AndroidToast即便关闭了通知权限也会正常显示

    这样,在需要显示Toast的地方,只需调用`ToastUtils.showShort(context, "Message")`或`ToastUtils.showLong(context, "Message")`即可。 总的来说,`Android Toast`是不受通知权限控制的,它作为一个独立的反馈...

    Android Toast自定义显示时间

    但是, Toast 的显示时间却是一个长期以来让开发者困惑的问题。 Android 中的 Toast 提供了 setDuration(int duration) 接口,但是跟踪代码发现,设置的时间没起作用,只有系统默认的两个时间 LENGTH_DURATION = ...

    Crouton 丰富样式的Toast.rar

    - Crouton可以设置显示时长,而系统Toast只有短期和长期两种选项。 - Crouton可以限制在特定视图上显示,而系统Toast总是在屏幕中心出现。 3. **Crouton的使用步骤**: - 添加依赖:首先在项目中引入Crouton库,...

    安卓Andriod源码——五种效果的Toast.zip

    在多线程环境中,如AsyncTask或Handler,直接在非UI线程中创建和显示Toast会导致应用崩溃。因此,需要确保Toast的创建和显示都在主线程中进行,可以使用`runOnUiThread`或`Looper.getMainLooper().post`来保证这...

    安卓Andriod源码——五种不同的Toast效果.zip

    `Toast`不会阻塞用户的操作,也不会在屏幕上长期占用空间,因此非常适合用来提供临时的通知。 2. 创建`Toast` 要创建一个基本的`Toast`,你需要使用`Toast.makeText()`方法。这个方法接受三个参数:上下文(Context...

    myToast源码

    myToast源码中可能会包含一个名为`MyToast`的类,这个类会覆盖`makeText()`、`show()`等方法,以便在创建和显示Toast时应用自定义设置。 2. 视图构建: 自定义Toast的第一步是创建一个包含所需布局的视图。这通常...

    Toast和Handler的间隔使用实例

    因为要让Toast长期显示,需要另外一个线程,每隔一个时间段,就循环显示一次。 先说明一下,本次需要用到Handle机制,因此不了解或者不熟悉Handle的同学,请先去看看Android上的Handle机制! 下面开始讲解代码实现...

    应用源码之MyCustomToast.zip

    在Android SDK中,Toast提供了方便的方法来显示一个短期或者长期的视图,通常用于显示简短的信息。使用`makeText()`方法创建一个Toast对象,然后调用`show()`方法显示它。例如: ```java Toast.makeText(context, ...

    android2W一次培训教材

    Toast用于短暂显示提示信息,支持短时间显示和长时间显示两种模式。 以上内容覆盖了Android开发中的多个核心知识点,旨在帮助开发者全面理解Android开发的基本框架和技术细节。通过深入学习这些内容,开发者可以更...

    ListView仿qq微信侧滑删除

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。"ListView仿qq微信侧滑删除"是一个常见的需求,...在实现过程中,要注重代码的可读性和维护性,遵循良好的编程实践,以确保项目的长期稳定。

    SimpleToast:.zip

    这个项目的名称"SimpleToast"可能来源于Android中常见的Toast组件,但它更专注于提供一种简洁易用的通知机制,而不是传统的短暂显示消息。 1. **Android通知机制**: Android的通知是通过`Notification`类来创建的...

    精通ANDROID 3(中文版)1/2

    14.5.7 长期运行的服务的实现  14.5.8 测试长期运行的服务  14.6 代码编译说明  14.6.1 从ZIP文件创建项目  14.6.2 通过代码清单创建项目  14.7 参考资料  14.8 小结  第15章 闹钟管理器  15.1 ...

    精通Android 3 (中文版)2/2

    14.5.7 长期运行的服务的实现  14.5.8 测试长期运行的服务  14.6 代码编译说明  14.6.1 从ZIP文件创建项目  14.6.2 通过代码清单创建项目  14.7 参考资料  14.8 小结  第15章 闹钟管理器  15.1 ...

    Android应用源码之高仿乐动力体重设置.rar

    - 使用XML布局文件:源码中会包含多个XML布局文件,用于定义屏幕上的各个组件,如TextView(显示文本)、EditText(用户输入体重)、Button(提交或保存)等。开发者可以通过调整这些布局元素的位置、大小和样式,...

    自定义Crash

    通过自定义Crash处理,我们可以避免这种弹窗,转而显示一个自定义的Toast或者Dialog,以更温和的方式通知用户程序遇到了问题,同时不打断他们的使用体验。 2. **收集Crash信息**:在自定义的Crash处理器中,我们...

    android开发技巧合集

    ### Android开发技巧合集 #### 一、ANDROID常用类库说明 ...Toast用于显示短暂的信息提示,支持设置显示时长。 以上内容涵盖了Android开发中的关键技术和知识点,希望对初次接触Android的同学有所帮助。

    generator-riot-mobile:基于riot的移动开发脚手架,包含一些常用的UI组件(depreciation)

    5. 提示信息(Toast):短暂显示通知或提示。 6. 模态对话框(Modal):全屏或半屏覆盖,用于显示重要信息或进行操作确认。 **迁移到更新的解决方案** 由于`generator-riot-mobile`不再维护,开发者应考虑转向其他...

Global site tag (gtag.js) - Google Analytics