Toast:Android中的Toast是一种简易提示框。他的目的是在不影响用户使用的情况下向用户提示信息,显示位置在最上层,永远都不获得焦点。
使用此类时,需要引入的包:import android.widget.Toast;
toast常用方法:
Toast.makeText(context,text,duration);//返回值为Toast
toast.setDuration(duration);//设置持续时间
toast.setGravity(gravity,xoffset,offset);//设置toast位置
toast.setText(s);//设置提示内容
toast.show();//显示内容
下面我来展示一下 toast 四种用法
主页: LinearLayout布局下的四个按钮 很简单就不贴代码了
1、默认显示状态,点击第一按钮
MainActivity.java
package com.test.helloworld;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initEvent();
}
//初始化点击事件
private void initEvent() {
findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//默认toast,第一个参数为上下文,第二个参数是所显示信息,可以直接手写也可以引用string.xml文件中的信息
//第三个参数是显示时长可使用默认参数或者自定义时长,单位毫秒
Toast toast = Toast.makeText(MainActivity.this, "这是默认toast", Toast.LENGTH_SHORT);
toast.show();//显示toast
}
});
}
}
2、自定义toast位置 ,点击第二个按钮
//点击事件,方法代码
private void initEvent1() {
findViewById(R.id.button2).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//自定义位置的toast
Toast toast = Toast.makeText(SecondActivity.this, "这是一个改变位置的toast!", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);//第一个参数为显示位置第二个参数为x轴偏移量第三个参数为y轴偏移量
toast.show();//将toast显示出来
}
});
}
3、带图片的toast,点击第三个按钮
点击事件方法代码
private void initEvent2() {
findViewById(R.id.button3).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast toast = Toast.makeText(ThirdActivity.this, "这是一个带图片的toast", Toast.LENGTH_SHORT);
LinearLayout toast_layout =(LinearLayout)toast.getView();//获取到toast的布局并强制转化成linearlayout
ImageView v1 = new ImageView(ThirdActivity.this);//创建一个ImageView对象
v1.setImageResource(R.drawable.ic_launcher);//设置图片
toast_layout.addView(v1,0);//布局添加图片,第二个参数为图片位置的索引
toast.show();
}
});
}
自定义布局文件
private void initEvent3() {
findViewById(R.id.button4).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
LayoutInflater inflater = LayoutInflater.from(FourthActivity.this);
View view = inflater.inflate(R.layout.toast_layout, null);//用inflater获取布局
Toast toast= new Toast(FourthActivity.this);//初始化toast
toast.setView(view);//自定义布局放入toast
toast.show();
}
});
}