Toast 是一种非常方便的消息提示框,有两个特点:
1.Toast提示信息不会获取焦点。
2.Toast提示信息过一段时会自动消失。
使用方法比较简单,一般通过以下步骤:
1.调用Toast构造器或makeText()静态方法创建一个Toast对象。
2.调用Toast的方法业设置该消息提示的对齐方式、页边距等。
3.调用Toast的show()方法将它显示出来。
代码:
package shortcut.song.com.myapplication;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class ToastActivity extends AppCompatActivity {
Button mButton1;
Button mButton2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_toast);
mButton1 = (Button) findViewById(R.id.button1);
mButton2 = (Button) findViewById(R.id.button2);
mButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(ToastActivity.this, "普通提示", Toast.LENGTH_SHORT).show();
}
});
mButton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast toast = new Toast(ToastActivity.this);
toast.setGravity(Gravity.CENTER, 0, 0);
LinearLayout ll = new LinearLayout(ToastActivity.this);
ImageView imageView = new ImageView(ToastActivity.this);
imageView.setImageResource(R.drawable.alert_dialog_icon);
ll.addView(imageView);
TextView textView = new TextView(ToastActivity.this);
textView.setText("带图片的提示");
ll.addView(textView);
toast.setView(ll);
toast.setDuration(Toast.LENGTH_LONG);
toast.show();
}
});
}
public View addView(int layout)
{
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(layout, null);
return view;
}
public void showToast()
{
Toast mToast = new Toast(ToastActivity.this);
mToast.setGravity(Gravity.CENTER, 200, 100);
LinearLayout linearLayout = new LinearLayout(ToastActivity.this);
ImageView mImageView = new ImageView(ToastActivity.this);
mImageView.setImageResource(R.drawable.shuangta);
linearLayout.addView(mImageView);
mToast.setView(linearLayout);
}
}
layout布局文件activity_toast.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_toast"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="shortcut.song.com.myapplication.ToastActivity">
<Button
android:text="Toast1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_marginStart="34dp"
android:layout_marginTop="27dp"
android:id="@+id/button1" />
<Button
android:text="Toast2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button1"
android:layout_alignEnd="@+id/button1"
android:layout_marginTop="51dp"
android:id="@+id/button2" />
</RelativeLayout>
普通Toast运行效果:
带图片的Toast运行效果: