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();
}
});
}
4、自定义toast
自定义布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="这是自定义布局!!"/>
<TextView
android:id="@+id/name1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="这是自定义布局!!"/>
<ImageView
android:id="@+id/pic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/ic_launcher"
android:contentDescription="@null"
/>
</LinearLayout>
点击事件方法代码:
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();
}
});
}