Toast使用方法

2024-05-09 21:38
文章标签 使用 方法 toast

本文主要是介绍Toast使用方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    Toast 是一个 View 视图,快速的为用户显示少量的信息。 Toast 在应用程序上浮动显示信息给用户,它永远不会获得焦点,不影响用户的输入等操作,主要用于 一些帮助 / 提示。

 

   Toast 最常见的创建方式是使用静态方法 Toast.makeText

 

我使用的是 SDK 2.2

 

1.  默认的显示方式

 

 


<span style="font-size:14px;">// 第一个参数:当前的上下文环境。可用getApplicationContext()或this  
// 第二个参数:要显示的字符串。也可是R.string中字符串ID  
// 第三个参数:显示的时间长短。Toast默认的有两个LENGTH_LONG(长)和LENGTH_SHORT(短),也可以使用毫秒如2000ms  
Toast toast=Toast.makeText(getApplicationContext(), "默认的Toast", Toast.LENGTH_SHORT);  
//显示toast信息  
toast.show();  </span>

2. 自定义显示位置

 

 

 

<span style="font-size:14px;">Toast toast=Toast.makeText(getApplicationContext(), "自定义显示位置的Toast", Toast.LENGTH_SHORT);  //第一个参数:设置toast在屏幕中显示的位置。我现在的设置是居中靠顶  //第二个参数:相对于第一个参数设置toast位置的横向X轴的偏移量,正数向右偏移,负数向左偏移  //第三个参数:同的第二个参数道理一样  //如果你设置的偏移量超过了屏幕的范围,toast将在屏幕内靠近超出的那个边界显示  toast.setGravity(Gravity.TOP|Gravity.CENTER, -50, 100);   //屏幕居中显示,X轴和Y轴偏移量都是0  //toast.setGravity(Gravity.CENTER, 0, 0);   toast.show();  </span>

 

3. 带图片的

 

 

 

<span style="font-size:14px;">Toast toast=Toast.makeText(getApplicationContext(), "显示带图片的toast", 3000);  toast.setGravity(Gravity.CENTER, 0, 0);   //创建图片视图对象  ImageView imageView= new ImageView(getApplicationContext());  //设置图片  imageView.setImageResource(R.drawable.ic_launcher);  //获得toast的布局  LinearLayout toastView = (LinearLayout) toast.getView();  //设置此布局为横向的  toastView.setOrientation(LinearLayout.HORIZONTAL);  //将ImageView在加入到此布局中的第一个位置  toastView.addView(imageView, 0);  toast.show();  <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">  </span></span>
 

 

4. 完全自定义显示方式

 

 

 

 

<span style="font-size:14px;">//Inflater意思是充气  //LayoutInflater这个类用来实例化XML文件到其相应的视图对象的布局  LayoutInflater inflater = getLayoutInflater();  //通过制定XML文件及布局ID来填充一个视图对象  View layout = inflater.inflate(R.layout.custom2,(ViewGroup)findViewById(R.id.llToast));  ImageView image = (ImageView) layout.findViewById(R.id.tvImageToast);  //设置布局中图片视图中图片  image.setImageResource(R.drawable.ic_launcher);  TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);  //设置标题  title.setText("标题栏");  TextView text = (TextView) layout.findViewById(R.id.tvTextToast);  //设置内容  text.setText("完全自定义Toast");  Toast toast= new Toast(getApplicationContext());  toast.setGravity(Gravity.CENTER , 0, 0);  toast.setDuration(Toast.LENGTH_LONG);  toast.setView(layout);  toast.show();  </span>
 

 

5. 其他线程通过 Handler 的调用

 

 

 

 

<span style="font-size:14px;">//调用方法1  //Thread th=new Thread(this);  //th.start();  //调用方法2  handler.post(new Runnable() {  @Override  public void run() {  showToast();  }  });  </span>


<span style="font-size:14px;">public void showToast(){  Toast toast=Toast.makeText(getApplicationContext(), "Toast在其他线程中调用显示", Toast.LENGTH_SHORT);  toast.show();  }  </span>


<span style="font-size:14px;">Handler handler=new Handler(){  @Override  public void handleMessage(Message msg) {  int what=msg.what;  switch (what) {  case 1:  showToast();  break;  default:  break;  }  super.handleMessage(msg);  }  };  </span>


<span style="font-size:14px;">@Override  public void run() {  handler.sendEmptyMessage(1);  }  </span>


 

这篇关于Toast使用方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/974570

相关文章

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

prometheus如何使用pushgateway监控网路丢包

《prometheus如何使用pushgateway监控网路丢包》:本文主要介绍prometheus如何使用pushgateway监控网路丢包问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录监控网路丢包脚本数据图表总结监控网路丢包脚本[root@gtcq-gt-monitor-prome

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

Java 方法重载Overload常见误区及注意事项

《Java方法重载Overload常见误区及注意事项》Java方法重载允许同一类中同名方法通过参数类型、数量、顺序差异实现功能扩展,提升代码灵活性,核心条件为参数列表不同,不涉及返回类型、访问修饰符... 目录Java 方法重载(Overload)详解一、方法重载的核心条件二、构成方法重载的具体情况三、不构

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected