android toast_Android Toast

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_SHORTToast.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-toasts-output

运行中的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.

参考: 官方文件

翻译自: https://www.journaldev.com/15867/android-toast

android toast

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值