📜  安卓 |什么是 Toast 以及如何通过示例使用它

📅  最后修改于: 2022-05-13 01:55:24.154000             🧑  作者: Mango

安卓 |什么是 Toast 以及如何通过示例使用它

先决条件:

  • 面向初学者的 Android 应用开发基础知识
  • 安装和设置 Android Studio 指南
  • 安卓 |从第一个 app/android 项目开始
  • 安卓 |运行您的第一个 Android 应用程序

本文旨在讲述什么是 Toast 以及如何使用它在 android 应用程序中显示消息。

Android 中的 Toast 是什么?

Toast是一条反馈消息。它只需要很少的空间来显示,而整个活动是交互式的并且对用户可见。它在几秒钟后消失。它会自动消失。如果用户想要永久可见的消息,可以使用通知

另一种 Toast 是自定义 Toast ,其中可以使用图像而不是简单的消息。

例子:

Toast 类:Toast 类提供了一个简单的弹出消息,显示在当前活动 UI 屏幕(例如主活动)上。

Toast 类的常量

ConstantsDescription
public static final int LENGTH_LONGdisplays for a long time
public static final int LENGTH_SHORTdisplays for a short time


Toast 类的方法

MethodsDescription
public static Toast makeText(Context context, CharSequence text, int duration)makes the toast message consisted of text and time duration
public void show()displays a toast message
public void setMargin (float horizontalMargin, float verticalMargin)changes the horizontal and vertical differences

如何创建一个 Android 应用来显示 Toast 消息(附示例)

在此示例中,“This a simple toast message”是通过单击“CLICK”按钮显示的Toast 消息。每次单击您的吐司消息时都会出现。

使用 Toast 消息创建 Android 应用程序的步骤:

  • 第 1 步:创建一个 XML 文件和一个Java文件。请参阅先决条件以了解有关此步骤的更多信息。
  • 第 2 步:打开“activity_main.xml”文件并添加一个按钮以在约束布局中显示 Toast 消息。

    此外,将ID分配给按钮组件,如图所示和下面的代码。分配给按钮的 ID有助于识别和在Java文件中使用。

    android:id="@+id/id_name"

    这里给定的 ID 是Button01

    这将制作应用程序的 UI。

  • 第 3 步:现在,在 UI 之后,此步骤将创建应用程序的后端。为此,打开“MainActivity. Java”文件并使用 findViewById() 方法实例化在 XML 文件中创建的组件(按钮)。此方法借助分配的 ID 将创建的对象绑定到 UI 组件。
    一般语法:

    使用的组件的语法(单击按钮):

  • 第 4 步:此步骤涉及设置操作以显示 Toast 消息。这些操作如下:
    1. 在 Button 上添加侦听器,此 Button 将显示一条 toast 消息。
    2. 现在,创建一个 toast 消息。 Toast.makeText()方法是创建 Toast 对象的预定义方法。

      句法:

      public static Toast makeText (Context context, 
                      CharSequence text, 
                      int duration)
      

      参数:此方法接受三个参数:

      • context:第一个参数是一个Context对象,调用getApplicationContext()获取。
        Context context = getApplicationContext(); 
      • text:第二个参数是你要显示的文本信息。
        CharSequence text=”Your text message here”
      • duration:最后一个参数是消息的持续时间。
        int duration=Toast.LENGTH_LONG;

      因此,制作 Toast 消息的代码是:

      Toast.makeText(getApplicationContext(),
                     "This a toast message",
                     Toast.LENGTH_LONG);
      

    3. 使用 Toast 类的show()方法显示创建的 Toast 消息。

      句法:

      public void show ()

      显示 Toast 消息的代码:

      Toast.makeText(getApplicationContext(),
                     "This a toast message",
                     Toast.LENGTH_LONG)
           .show();
      

  • 第5步:现在运行应用程序并进行如下操作:
    • 当应用程序打开时,它会显示一个“单击”按钮。
    • 单击单击按钮。
    • 然后“This a toast message”将作为 Toast Message 显示在屏幕上。

完成代码以显示简单的 Toast 消息:

activity_main.xml


  
 
    


MainActivity.java
package org.geeksforgeeks.simpleToast_Example;
  
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
  
public class MainActivity extends AppCompatActivity {
  
    // Defining the object for button
    Button btn;
  
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        // Bind the components to their respective objects
        // by assigning their IDs
        // with the help of findViewById() method
        Button btn = (Button)findViewById(R.id.Button01);
  
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v)
            {
                // Displaying simple Toast message
                Toast.makeText(getApplicationContext(),
                               "This a toast message",
                               Toast.LENGTH_LONG)
                    .show();
            }
        });
    }
}


activity_main.xml


  
 
    


MainActivity.java
package org.geeksforgeeks.positionedToast_Example;
  
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
  
public class MainActivity extends AppCompatActivity {
  
    // Defining the object for button
    Button btn;
  
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        // Binding the components to their respective objects
        // by assigning their IDs
        // with the help of findViewById() method
        Button btn = (Button)findViewById(R.id.Button01);
  
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v)
            {
  
                // Displaying posotioned Toast message
                Toast t = Toast.makeText(getApplicationContext(),
                                         "This a positioned toast message",
                                         Toast.LENGTH_LONG);
                t.setGravity(Gravity.BOTTOM | Gravity.RIGHT, 0, 0);
                t.show();
            }
        });
    }
}


输出:

如何更改 Toast 消息的位置(示例)

如果需要设置 Toast 消息的位置,则可以使用setGravity()方法。

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

参数:此方法接受三个参数:

  • 重力:设置 Toast 消息的位置。以下常量可用于指定 Toast 的位置:
    1.TOP
    2.BOTTOM
    3.LEFT
    4.RIGHT
    5.CENTER
    6.CENTER_HORIZONTAL
    7.CENTER_VERTICAL
    

    每个常量都指定 X 和 Y 轴上的位置,除了CENTER常量,它设置水平和垂直方向的居中位置。

  • xOffset:这是告诉 Toast 消息在 x 轴上水平移动多少的偏移值。
  • yOffset:这是告诉 Toast 消息在 y 轴上垂直移动多少的偏移值。

例如:

示例:在下面的示例中,Toast 显示在右下角的位置。

句法:

Toast t = Toast.makeText(getApplicationContext(),
                         "This a positioned toast message",
                         Toast.LENGTH_LONG);
t.setGravity(Gravity.BOTTOM | Gravity.RIGHT, 0, 0);
t.show();

完整代码:

activity_main.xml



  
 
    

主要活动。Java

package org.geeksforgeeks.positionedToast_Example;
  
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
  
public class MainActivity extends AppCompatActivity {
  
    // Defining the object for button
    Button btn;
  
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        // Binding the components to their respective objects
        // by assigning their IDs
        // with the help of findViewById() method
        Button btn = (Button)findViewById(R.id.Button01);
  
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v)
            {
  
                // Displaying posotioned Toast message
                Toast t = Toast.makeText(getApplicationContext(),
                                         "This a positioned toast message",
                                         Toast.LENGTH_LONG);
                t.setGravity(Gravity.BOTTOM | Gravity.RIGHT, 0, 0);
                t.show();
            }
        });
    }
}


输出: