Android Toast(吐司)的基本使用

一、Toast简介

当视图显示给用户,在应用程序中显示为浮动。和Dialog不一样的是,它永远不会获得焦点,无法被点击。用户将可能是在中间键入别的东西。Toast类的思想就是尽可能不引人注意,同时还向用户显示信息,希望他们看到。而且Toast显示的时间有限,Toast会根据用户设置的显示时间后自动消失。
二、Toast的使用

2.1、Toast.makeText(MainActivity.this, “提示的内容”, Toast.LENGTH_LONG).show();

第一个是上下文对象!第二个是显示的内容!第三个是显示的时间,只有LONG和SHORT两种
会生效,即时你定义了其他的值,最后调用的还是这两个!要自己造轮子重写时间

参数名 含义
LENGTH_SHORT 0 toast显示较短的时间后消失(4000ms)
LENGTH_LONG 1 toast显示较长的时间后消失(7000ms)

2.2、改变Toast的位置

void setGravity(int gravity, int xOffset, int yOffset)

三、Toast Daemon

package com.gatsby.toast;

import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    Context mContext;
    Button btn1, btn2, btn3, btn4;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mContext = MainActivity.this;
        initView();
    }

    public void initView() {

        btn1 = (Button) findViewById(R.id.btn1);
        btn2 = (Button) findViewById(R.id.btn2);
        btn3 = (Button) findViewById(R.id.btn3);

        btn1.setOnClickListener(this);
        btn2.setOnClickListener(this);
        btn3.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {

        switch (v.getId()) {
            case R.id.btn1:
                Toast.makeText(MainActivity.this, "Button1 Toast ---> 1", Toast.LENGTH_LONG).show();
                break;
            case R.id.btn2:
                Toast toast = Toast.makeText(mContext, "Button2 Toast ---> 2", Toast.LENGTH_SHORT);
                toast.setGravity(Gravity.TOP, 0, 0);
                toast.show();
                break;
            case R.id.btn3:
                crushToast("Button3 Toast ---> 3", Toast.LENGTH_LONG);
                break;
        }
    }

    public void crushToast(String str, int showTime) {
        Toast toast = Toast.makeText(mContext, str, showTime);
        toast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM, 0, 0);  //设置显示位置
        TextView v = (TextView) toast.getView().findViewById(android.R.id.message);
        v.setTextColor(Color.YELLOW);     //设置字体颜色
        toast.show();
    }
}

猜你喜欢

转载自www.cnblogs.com/crushgirl/p/12942283.html