大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
android toast
Toast message is useful to show notification for small time in android app. In this tutorial, we’ll discuss and implement android Toast message example.
Toast消息对在Android应用中显示少量通知非常有用。 在本教程中,我们将讨论并实现android Toast消息示例。
Android Toast (Android Toast)
Android Toast is used to show notification for a particular interval of time at the bottom of the screen by default. Toast message doesn’t block the user interaction and auto disappears after a timeout. The android.widget.Toast
class is the subclass of java.lang.Object
class.
默认情况下,Android Toast用于在屏幕底部显示特定时间间隔的通知。 Toast消息不会阻止用户交互,并且超时后自动消失。 android.widget.Toast
类是java.lang.Object
类的子类。
创建基本的Toast消息 (Creating a Basic Toast message)
Android Toast message is created using the method makeText()
that is passed with the context, the message, and the duration as shown below:
Android Toast消息是使用方法makeText()
创建的,该方法随上下文,消息和持续时间一起传递,如下所示:
Toast toast = Toast.makeText(context, "String goes here", duration);
The context
can be of the application or the activity. It’s recommended to use getApplicationContext()
to let the Toast be displayed irrespective of the current state of the Activity.
context
可以是应用程序或活动的context
。 建议使用getApplicationContext()
来显示Toast,而与Activity的当前状态无关。
The duration
can be set as Toast.LENGTH_SHORT
or Toast.LENGTH_LONG
.
duration
可以设置为Toast.LENGTH_SHORT
或Toast.LENGTH_LONG
。
The Toast is displayed using the method show()
.
使用show()
方法show()
Toast。
Toast.makeText(getApplicationContext(),"Basic Toast message", Toast.LENGTH_SHORT).show()
定位您的吐司消息 (Positioning your Toast Message)
A standard Toast message appears at the bottom of the screen. We can set our own gravity on a Toast as shown below
屏幕底部显示一条标准的Toast消息。 我们可以在Toast上设置自己的重力,如下所示
toast.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL, 0, 0);
The second and third parameters are used to shift the toast to the right and down respectively by the offset specified.
第二个参数和第三个参数用于将烤面包分别向右和向下移动指定的偏移量。
Toast Android的自定义布局 (Custom Layout for Toast Android)
To create a custom layout we can define the view layout in the XML lets say custom_toast.xml
要创建自定义布局,我们可以在XML中定义视图布局,比如说custom_toast.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:id="@+id/custom_toast_container"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="8dp"
android:background="#7DA1BC"
>
<ImageView android:src="@android:drawable/stat_notify_error"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
/>
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
android:textColor="#FFF"
/>
</LinearLayout>
In our activity class, we’ll inflate the above layout and set it on the Toast using the method setView()
.
在我们的活动类中,我们将膨胀以上布局,并使用setView()
方法在Toast上进行设置。
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.custom_toast,
(ViewGroup) findViewById(R.id.custom_toast_container));
TextView text = layout.findViewById(R.id.text);
text.setText("This is a custom toast");
toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
Let’s create an application in which each button would display a different type of Toast message, amongst the ones we’ve just discussed.
让我们创建一个应用程序,其中每个按钮将显示刚刚讨论过的Toast消息的不同类型。
Android Toast消息示例项目结构 (Android Toast Message Example Project Structure)
Android Toast消息代码 (Android Toast Message Code)
The code for the activity_main.xml
layout is given below.
下面给出了activity_main.xml
布局的代码。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_gravity="center"
android:gravity="center"
tools:context="com.journaldev.toasts.MainActivity">
<Button
android:id="@+id/btnBasicToast"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Basic Toast"/>
<Button
android:id="@+id/btnGravityToast"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Basic Toast With Gravity"/>
<Button
android:id="@+id/btnOffsetToast"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Basic Toast With Gravity And Offset"/>
<Button
android:id="@+id/btnCustomToast"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Custom Toast"/>
</LinearLayout>
The code for the MainActivity.java
is given below
MainActivity.java
的代码如下
package com.journaldev.toasts;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
Button btnToast, btnGravityToast, btnOffsetToast, btnCustomToast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnToast = findViewById(R.id.btnBasicToast);
btnGravityToast = findViewById(R.id.btnGravityToast);
btnOffsetToast = findViewById(R.id.btnOffsetToast);
btnCustomToast = findViewById(R.id.btnCustomToast);
btnToast.setOnClickListener(this);
btnGravityToast.setOnClickListener(this);
btnOffsetToast.setOnClickListener(this);
btnCustomToast.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btnBasicToast:
Toast.makeText(getApplicationContext(), "Basic Toast", Toast.LENGTH_SHORT).show();
break;
case R.id.btnGravityToast:
Toast toast = Toast.makeText(getApplicationContext(), "Toast with Gravity", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL, 0, 0);
toast.show();
break;
case R.id.btnOffsetToast:
toast = Toast.makeText(getApplicationContext(), "Toast With Offset", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL, 50, 50);
toast.show();
break;
case R.id.btnCustomToast:
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.custom_toast,
(ViewGroup) findViewById(R.id.custom_toast_container));
TextView text = layout.findViewById(R.id.text);
text.setText("This is a custom toast");
toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
break;
}
}
}
The output of the android toast example application in action is given below.
运行中的android Toast示例应用程序的输出如下。
Did you notice the position change between the Gravity Toast and the one with Offset included?
您是否注意到重力吐司和带有偏移量的吐司之间的位置变化?
This brings an end to toast android tutorial. You can download the final Android Toast Example Project from the link below.
这结束了吐司android教程。 您可以从下面的链接下载最终的Android Toast示例项目 。
Reference: Official Doc.
参考: 官方文件 。
android toast
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/194369.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...