android 之Toast(吐司)

我们先看效果:

Toast简介:

Toast提供一个浮动的简单的小显示块,并且不影响任何其他操作,仅仅用于提示信息,并且会在超时后,自动消失。因为它的及时性已经自动消失的特性,不适合提示一些重要的信息,如果有重要的信息。

本文概括:

下文将讲解Toast的常规使用,以及特殊的属性、方法的使用,并且会说明如何使用Toast创建一个自定义的内容,并且最后会对以上讲解的内容给出代码示例。

 

  Toast是为了给当前视图显示一个浮动的显示块,它永远不会获得焦点。一般用于提示一些不那么引人注目,但是又希望用户看见的消息,无需用户自己维护它的消失。

  如果只是提示简单的信息,使用Android为Toast提供的两个静态的方法最为方便,它们会返回一个Toast对象,如果需要显示,只需要调用show()方法显示即可,下面是这两个方法的签名:

  • static Toast makeText(Context context,int resId,int duration).
  • static Toast makeText(Context context,CharSequence text,int duration)

  上面两个方法,参数大致相同,一个上下文对象Context,一个显示的消息来源,一个设置持续时间。消息来源可以指定String资源,使用<string.../>标签在XML资源文件中定义,还可以指定一个字符串用于消息展示。最后的duration参数设置了Toast的持续时间,一般使用Toast自带的两个整形的常量:LENGTH_LONG(1,时间稍长)、LENGTH_SHORT(0,时间稍短),针对不同的使用场景,选择不用的持续时间。

  Toast消息的默认显示位置在屏幕的中间偏下,Android也为开发者提供了方法设置Toast消息的位置,使用setGravity(int gravity, int xOffset, int yOffset)方法即可设置,它有三个参数,gravity设置一个重力方向,另外两个设置水平和垂直方向的偏移量。

演示中的实现代码:

调用函数:

package com.yzl.test2;


import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
    
    private Button button;
    private EditText et_text;//变成全局变量

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //加载一个布局
        setContentView(R.layout.activity_main);
        //找到我们关心的控件
        et_text = findViewById(R.id.editText2);
        //找到按钮
        button = findViewById(R.id.button);
        //给按钮设置一个点击事件
        button.setOnClickListener(new MyClickListener());//这叫做内部类
    }
    private class MyClickListener implements View.OnClickListener{
        @Override
        public void onClick(View v) {
            String number = et_text.getText().toString().trim();//获取输入的值
            if("".equals(number)){
                //context 上下文
                Toast.makeText(MainActivity.this, "输入值不能为空", Toast.LENGTH_LONG).show();
                return;
            }
        }
    }

}

界面布局: 

<?xml version="1.0" encoding="utf-8"?>
<GridLayout

        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    <!--
        match_parent:填充父窗体
        fill_parent:同上,过时
        wrap_content:表示和自身内容一样的长度。
    -->
    <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="请输入手机号码:"
            android:textSize="40dp"
            android:layout_marginTop="50dp"
            android:textColor="#000000"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"/>
    <EditText
            android:layout_width="327dp"
            android:layout_height="62dp"
            android:inputType="phone"
            android:ems="10"
            android:id="@+id/editText2"
            android:layout_row="1"
            android:layout_column="0"/>
    <Button
            android:text="拨打"
            android:textSize="30dp"
            android:layout_width="150dp"
            android:layout_height="72dp"
            android:layout_row="2"
            android:layout_column="0"
            android:id="@+id/button"/>

</GridLayout>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章