首页 > 移动平台 > 详细

Android攻城狮重新认识Toast

时间:2017-04-29 12:33:24      阅读:250      评论:0      收藏:0      [点我收藏+]
什么是Toast
1. Toast是一种提供给用户简洁提示信息的视图。
2. 该视图以悬浮于应用程序之上的形式呈现给用户。Toast提示界面不获取焦点,所以不影响用户的操作。Toast提示就是在不影响用户使用程序的同时,给用户提供某些提示信息。
3. Android提供的Toast类可以创建和显示该Toast信息。

Toast常用方法
Toast.makeText(context,text,duration);  // 返回值为Toast
toast.setDuration(duration);  // 设置持续时间
toast.setGravity(gravity,xOffset,yOffset);  // 设置toast位置
toast.setText(s);  // 设置提示内容
toast.show();  // 显示

toast.setGravity(gravity,x0ffset,y0ffset);
gravity: 通过 Gravity.xxxx 选择位置,注意 Gravity 不要漏掉
x0ffset: 相对当前位置的X轴(横向)的偏移量
y0ffset: 相对当前位置的Y轴(纵向)的偏移量
 1 public class MainActivity extends ActionBarActivity {
 2 
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         setContentView(R.layout.fragment_main);
 7         initEvent();
 8 
 9     }
10 
11     // 初始化点击事件
12     private void initEvent() {
13         // TODO Auto-generated method stub
14         findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
15 
16             @Override
17             public void onClick(View v) {
18                 // TODO Auto-generated method stub
19                 showToast1();
20             }
21         });
22     }
23 
24     // 显示默认toast
25     private void showToast1() {
26         // Toast toast=Toast.makeText(this,
27         // R.string.app_name,Toast.LENGTH_LONG);
28         Toast toast = Toast.makeText(this, "默认的Toast", Toast.LENGTH_LONG);
29         toast.show();
30     }
31 
32     // 显示自定义位置的Toast
33     private void showToast2() {
34         // Toast toast=Toast.makeText(this,
35         // R.string.app_name,Toast.LENGTH_LONG);
36         Toast toast = Toast.makeText(this, "改变位置的Toast", Toast.LENGTH_LONG);
37         // toast.setGravity(gravity,x0ffset,y0ffset);
38         // gravity: 通过 Gravity.xxxx 选择位置,注意 Gravity 不要漏掉
39         // x0ffset: 相对当前位置的X轴(横向)的偏移量(负向左正向右),
40         // y0ffset: 相对当前位置的Y轴(纵向)的偏移量(负向上正向下)
41         toast.setGravity(Gravity.CENTER, 0, 0);
42 
43         toast.show();
44     }
45 
46     // 显示带有图片的Toast
47     private void showToast3() {
48         // Toast toast=Toast.makeText(this,
49         // R.string.app_name,Toast.LENGTH_LONG);
50         Toast toast = Toast.makeText(this, "带有图片的Toast", Toast.LENGTH_LONG);
51         LinearLayout toastLayout = (LinearLayout) toast.getView();
52         ImageView imageView = new ImageView(this);
53         imageView.setImageResource(R.drawable.ic_launcher);
54 
55         toastLayout.addView(imageView, 0);// 图片在文字上方
56         toast.show();
57     }
58 
59     // 自定义的toast
60     private void showToast4() {
61         // Toast toast=Toast.makeText(this,
62         // R.string.app_name,Toast.LENGTH_LONG);
63         LayoutInflater inflater = LayoutInflater.from(this);
64         View toastView = inflater.inflate(R.layout.toast, null);
65         Toast toast = new Toast(this);
66         toast.setView(toastView);
67         toast.show();
68     }
69 }
自定义Toast的代码。注意这里是setView(),而不是addView()。
另外在 R.layout.toast_layout 里面是我们自定义的 Toast 布局。本例中是一个ImageView,在其上下各有一个TextView。

Android攻城狮重新认识Toast

原文:http://www.cnblogs.com/my334420/p/6784893.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!