Toast比较常用,用于显示简短的提醒,比如网络连接断开等。
Toast的简单编码实例
findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //核心代码 Toast.makeText(MainActivity.this, "显示Toast", Toast.LENGTH_LONG).show(); } });
makeText的第一个参数是上下文,第二个参数是显示的消息,第三个是显示的时间长短,有两个选项,本文是时间较长的,还有一个是Toast.LENGTH_SHORT。
设置Toast的位置
findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Toast toast = Toast.makeText(MainActivity.this, "显示Toast", Toast.LENGTH_SHORT); //关键代码 toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } });
toast.setGravity(Gravity.CENTER, 0, 0);这个函数的三个参数,第一个参数用Gravity的常量设置toast的方位,第二个是x轴偏移量,正值是向右,第三个是y轴的偏移量,正值向下。
设置复杂布局的Toast
实例代码:
findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Toast imageToast = Toast.makeText(MainActivity.this, "显示Toast", Toast.LENGTH_SHORT); imageToast.setGravity(Gravity.CENTER, 0, 0); ImageView image = new ImageView(MainActivity.this); image.setImageResource(R.id.icon); imageToast.setView(image); imageToast.show(); } });
注意:
设置了图片以后,原先的消息不能显示了,所以如果要设置多个组件可以新建一个布局比如LinearLayout。利用这个方法来显示imageToast.setView(image);