什么是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。
时间: 2024-10-18 15:59:52