安卓 |什么是 Toast 以及如何通过示例使用它
先决条件:
- 面向初学者的 Android 应用开发基础知识
- 安装和设置 Android Studio 指南
- 安卓 |从第一个 app/android 项目开始
- 安卓 |运行您的第一个 Android 应用程序
本文旨在讲述什么是 Toast 以及如何使用它在 android 应用程序中显示消息。
Android 中的 Toast 是什么?
Toast是一条反馈消息。它只需要很少的空间来显示,而整个活动是交互式的并且对用户可见。它在几秒钟后消失。它会自动消失。如果用户想要永久可见的消息,可以使用通知。
另一种 Toast 是自定义 Toast ,其中可以使用图像而不是简单的消息。
例子:
Toast 类:Toast 类提供了一个简单的弹出消息,显示在当前活动 UI 屏幕(例如主活动)上。
Toast 类的常量
Constants | Description |
---|---|
public static final int LENGTH_LONG | displays for a long time |
public static final int LENGTH_SHORT | displays for a short time |
Toast 类的方法
Methods | Description |
---|---|
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 组件。
一般语法:ComponentType object = (ComponentType)findViewById(R.id.IdOfTheComponent);
使用的组件的语法(单击按钮):
Button btn = (Button)findViewById(R.id.Button01);
- 第 4 步:此步骤涉及设置操作以显示 Toast 消息。这些操作如下:
- 在 Button 上添加侦听器,此 Button 将显示一条 toast 消息。
btn.setOnClickListener(new View.OnClickListener() {});
- 现在,创建一个 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);
- context:第一个参数是一个Context对象,调用getApplicationContext()获取。
- 使用 Toast 类的show()方法显示创建的 Toast 消息。
句法:
public void show ()
显示 Toast 消息的代码:
Toast.makeText(getApplicationContext(), "This a toast message", Toast.LENGTH_LONG) .show();
- 在 Button 上添加侦听器,此 Button 将显示一条 toast 消息。
- 第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 轴上垂直移动多少的偏移值。
例如:
1. To display the Toast at the center:
toast.setGravity(Gravity.CENTER, 0, 0);
2. To display the Toast at the top, centered horizontally:
toast.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTALLY, 0, 0);
3. To display the Toast at the top, centered horizontally, but 30 pixels down from the top:
toast.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTALLY, 0, 30);
4. To display the Toast at the bottom, rightmost horizontally:
toast.setGravity(Gravity.BOTTOM | Gravity.RIGHT, 0, 0);
示例:在下面的示例中,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();
}
});
}
}
输出: