博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android开发UI之Toast的使用
阅读量:5983 次
发布时间:2019-06-20

本文共 2222 字,大约阅读时间需要 7 分钟。

Toast,A toast provides simple feedback about an operation in a small popup. 

对于操作提供一个简单反馈信息。

官网链接:

常量有两个:

LENGTH_LONG   显示稍微长点的时间,大概在5秒左右

LENGTH_SHORT    显示稍微短点的时候,大概在3秒左右

比较简单的使用

代码:

1 Toast.makeText(getApplicationContext(), "This is a Toast", Toast.LENGTH_SHORT).show();

还可以定制Toast显示的位置

1 Toast showToast=Toast.makeText(MainActivity.this, "显示Toast", Toast.LENGTH_SHORT);2 showToast.setGravity(Gravity.CENTER, 0, 0);3 showToast.show();

通过setGravity (int gravity, int xOffset, int yOffset)方法,

参数一:gravity,可以使用Gravity类的常量,比如:Gravity.CENTER,Gravity.BOTTOM,Gravity.LEFT,Gravity.RIGHT,Gravity.TOP等

参数二:toast位于屏幕X轴的位移,大于0表示往屏幕右边移动,小于0表示往屏幕左边移动。

参数三:与参数二一样, 不过是在屏幕Y轴的位移,大于0表示往屏幕下方移动,小于0表示往屏幕上方移动。

同时还可以给Toast设置图片等,

需要用的setView (View view)方法

参数:设置一个view,可以是layout,也可以是imageview等,只要是view或者子类都可以,看需求定义即可。

使用Toast时,注意,在UI线程中,可以直接使用Toast。在子线程中,直接使用Toast的话,会出现Force Close,需要使用Looper类。

 

Toast的五种例子

1.默认效果

1 Toast.makeText(getApplicationContext(), "默认Toast样式",Toast.LENGTH_SHORT).show();

2.自定义显示位置效果

1 toast = Toast.makeText(getApplicationContext(), "自定义位置Toast", Toast.LENGTH_LONG);2 toast.setGravity(Gravity.CENTER, 0, 0);3 toast.show();

3.带图片效果

1 toast = Toast.makeText(getApplicationContext(),"带图片的Toast",Toast.LENGTH_LONG);2 toast.setGravity(Gravity.CENTER, 0, 0);3 LinearLayout toastView = (LinearLayout) toast.getView();4 ImageView imageCodeProject = new ImageView(getApplicationContext());5 imageCodeProject.setImageResource(R.drawable.icon);6 toastView.addView(imageCodeProject, 0);7 toast.show();

4.完全自定义效果

1 LayoutInflater inflater = getLayoutInflater(); 2 View layout = inflater.inflate(R.layout.custom,(ViewGroup) findViewById(R.id.llToast)); 4 ImageView image = (ImageView) layout.findViewById(R.id.tvImageToast); 5 image.setImageResource(R.drawable.icon); 6 TextView title = (TextView) layout.findViewById(R.id.tvTitleToast); 7 title.setText("Attention"); 8 TextView text = (TextView) layout.findViewById(R.id.tvTextToast); 9 text.setText("完全自定义Toast");10 toast = new Toast(getApplicationContext());11 toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);12 toast.setDuration(Toast.LENGTH_LONG);13 toast.setView(layout);14 toast.show();

5.来自其他线程的

1 new Thread(new Runnable() {2 public void run() {3 showToast();4 }5 }).start();

 

转载地址:http://kqeox.baihongyu.com/

你可能感兴趣的文章
django之防止csrf跨站***
查看>>
applicationcontext.xml怎么分模块简化配置
查看>>
Django Admin
查看>>
负载均衡 (一) 工作模式以及工作原理
查看>>
Android 70道面试题汇总不再愁面试
查看>>
从ArrayList说起的JAVA复制与参数传递机制
查看>>
Servlet
查看>>
比较好的网站及工具
查看>>
Keychain
查看>>
Webview图片自适应
查看>>
使用 getopt() 进行命令行处理
查看>>
js去掉html标记,中正则表达式,去掉字符,截取字符
查看>>
使用Akka Http,ActiveMQ搭建一个邮件发送服务器
查看>>
kvm starting domain: cannot send monitor command
查看>>
Tomcat主配置文件Server.xml详解
查看>>
中考在即,您为孩子选择什么?--读<<招生全攻略>>有感
查看>>
深入剖析 HTML5
查看>>
Mysql mysql.server启动脚本详解 .
查看>>
网格(GridView)+图片(ImageView)+文字(TextView)
查看>>
jquery遇上Ajax
查看>>