专业财税服务推荐

精选优质财税服务,为企业提供专业、可靠的财税解决方案,助力企业健康发展

零报税代理记账
零申报代理记账
报税做账算帐财务报表老会计做账
代理记账
咨询微信:lhy_happyday
工商营业执照年度年报年检公示
全国个体、企业、公司、合作社工商年审年报服务!
个体/10元/次 企业/20元/次
咨询微信:lhy_happyday
财税咨询服务
一对一专业财税咨询,解决企业财税难题,提供定制方案
咨询微信:lhy_happyday
财务分析服务
小规模个体报税0申报税务年报工商年报月报季报报税代理记账
咨询微信:lhy_happyday
立即咨询专业财税顾问
微信号: lhy_happyday
会计从业9年,管理多家个体工商、小规模、一般纳税人等企业的财务、税务等相关工作!。
扫码或搜索添加微信,备注"财税咨询"获取专属优惠
知方号 知方号

Android延长Toast的时间以及自定义Toast android 设置时间

Android延长Toast的时间以及自定义Toast

Android中我们用到的Toast的地方还是挺多的,用法: Toast.makeText(MainActivity.this, “提示的内容”, Toast.LENGTH_LONG).show(); 第一个是上下文对象!对二个是显示的内容!第三个是显示的时间,只有 LENGTH_SHORT(2000)和LENGTH_LONG(3500)两种会生效,即时你定义了其他的值,最后调用的还是这两个!但在开发中还是无法满足我们的需求,需要延长土司的时间,所以我们需要自定义Toast来满足我们的需求

方法一 使用Timer自定义Toast显示时间 public void showMyToast(final Toast toast, final int cnt) { final Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { toast.show(); } }, 0, 3000); new Timer().schedule(new TimerTask() { @Override public void run() { toast.cancel(); timer.cancel(); } }, cnt ); }

用法:

Toast toast=Toast.makeText(RegistActivity.this, "这是可以随意设置时间的Toast", Toast.LENGTH_LONG);showMyToast(toast, 10*1000);

注意: 1、创建Toast对象的时候,要设置Toast.LENGTH_LONG,最后不要调用show()方法。 2、showMyToast()方法,传入两个参数,第一个参数为我们创建的Toast对象,第二个参数为我们想要设置显示的毫秒数!

方法二 使用Timer自定义Toast显示时间并且改变字体颜色及位置 public void showMyToast(String data, int cnt) { final Toast toast=Toast.makeText(this, data, Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL , 0, 0); //设置显示位置 TextView v = (TextView) toast.getView().findViewById(android.R.id.message); v.setTextColor(Color.YELLOW); //设置字体颜色 final Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { toast.show(); } }, 0, 3000); new Timer().schedule(new TimerTask() { @Override public void run() { toast.cancel(); timer.cancel(); } }, cnt ); }

用法和注意事项和方法一相同

方法三 定义一个带有图片的Toast

效果图:

public void midToast2(String str, int showTime){ Toast toast = Toast.makeText(this, str, showTime); toast.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM , 0, 0); //设置显示位置 LinearLayout layout = (LinearLayout) toast.getView(); layout.setBackgroundColor(Color.BLUE); ImageView image = new ImageView(this); image.setImageResource(R.mipmap.ic_launcher_round); layout.addView(image, 0); TextView v = (TextView) toast.getView().findViewById(android.R.id.message); v.setTextColor(Color.YELLOW); //设置字体颜色 toast.show(); } 方法四 Toast完全自定义

如果上面的那种还满足不了你的话,那么你完全可以自己写一个Toast的布局,然后显示出来;

private void midToast(String str, int showTime){ LayoutInflater inflater = getLayoutInflater(); View view = inflater.inflate(R.layout.view_toast_custom, (ViewGroup) findViewById(R.id.lly_toast)); ImageView img_logo = (ImageView) view.findViewById(R.id.img_logo); TextView tv_msg = (TextView) view.findViewById(R.id.tv_msg); tv_msg.setText(str); Toast toast = new Toast(mContext); //mContext为上下文 toast.setGravity(Gravity.CENTER, 0, 0); toast.setDuration(Toast.LENGTH_LONG); toast.setView(view); toast.show();}

还有自定义Toast的布局以及圆角背景: 圆角背景:bg_toast.xml:

布局文件:view_toast_custom.xml:

方法五 Toast完全自定义 字体颜色 布局 以及显示时长

效果图:

public void showMyToast3(String data, int cnt) { final Toast toast = Toast.makeText(this, data, Toast.LENGTH_LONG); LayoutInflater inflater = getLayoutInflater(); View view = inflater.inflate(R.layout.view_toast_custom, (ViewGroup) findViewById(R.id.lly_toast)); ImageView img_logo = (ImageView) view.findViewById(R.id.img_logo); TextView tv_msg = (TextView) view.findViewById(R.id.tv_msg); tv_msg.setTextColor(Color.YELLOW); //设置字体颜色 tv_msg.setText(data); toast.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL, 0, 0); //设置显示位置 toast.setDuration(Toast.LENGTH_LONG); toast.setView(view); final Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { toast.show(); } }, 0, 3000); new Timer().schedule(new TimerTask() { @Override public void run() { toast.cancel(); timer.cancel(); } }, cnt); }

好了以上就是自定义Toast 的方法 也是借鉴了别人 加上自己整合出来的 如有更好的 请多多交流。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。