📜  如何在 Android 中添加自定义样式的 Toast

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

如何在 Android 中添加自定义样式的 Toast

Toast是一条反馈消息。它只占用很少的空间来显示,它显示在活动的主要内容之上,并且只在很短的时间内保持可见。本文介绍了如何创建自定义 Toast 消息,它具有自定义背景、图像、图标等,这些是原始 Toast 库所不提供的。

在本文中, JitPack gradleToasty 库用于为用户创建自定义 toast,因为它是一个非常常见的库,并且已经被许多应用程序使用。

分步实施

第 1 步:创建一个新项目

要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。请注意,选择Java作为编程语言。

第 2 步:添加依赖项和 JitPack 存储库

在您的根build.gradle文件中添加支持库(而不是在模块 build.gradle 文件中)。这个库jitpack是一个新颖的包存储库。它是为 JVM 设计的,因此 github 和 bigbucket 中存在的任何库都可以直接在应用程序中使用。

在模块的build.gradle文件中添加支持库,并在依赖项部分添加依赖项。添加了此依赖项,以便可以在应用程序中直接使用不同样式的 toast。

第 3 步:使用 activity_main.xml 文件

导航到app > res > layout > activity_main.xml并将以下代码添加到该文件。下面是activity_main.xml文件的代码。

XML


 
    
 
        


Java
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
 
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
 
import es.dmoral.toasty.Toasty;
 
public class MainActivity
    extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
 
    // We assign this method
    // on OnClick() method
    // in activity_main.xml file.
    public void showToast(View v)
    {
        switch (v.getId()) {
 
        // For Error type Toast
        case R.id.button_error:
            Toasty.error(this, "This is an error Toast", Toast.LENGTH_SHORT).show();
            break;
 
        // For Success type Toast
        case R.id.button_success:
            Toasty.success(this, "This is a success Toast", Toast.LENGTH_SHORT).show();
            break;
 
        // For Info type Toast
        case R.id.button_info:
            Toasty.info(this, "This is an info Toast", Toast.LENGTH_SHORT).show();
            break;
 
        // For Warning type Toast
        case R.id.button_warning:
            Toasty.warning(this, "This is a warning Toast", Toast.LENGTH_SHORT).show();
            break;
 
        // For Norma type Toast
        // with an icon
        case R.id.button_normal:
            Toasty.normal(this, "This is a normal Toast", Toast.LENGTH_SHORT, ContextCompat.getDrawable(this, R.drawable.ic_android_black_24dp)).show();
            break;
        }
    }
}


第 4 步:使用MainActivity。Java

转到MainActivity。 Java文件并参考以下代码。下面是MainActivity 的代码。 Java文件。代码中添加了注释以更详细地理解代码。

Java

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
 
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
 
import es.dmoral.toasty.Toasty;
 
public class MainActivity
    extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
 
    // We assign this method
    // on OnClick() method
    // in activity_main.xml file.
    public void showToast(View v)
    {
        switch (v.getId()) {
 
        // For Error type Toast
        case R.id.button_error:
            Toasty.error(this, "This is an error Toast", Toast.LENGTH_SHORT).show();
            break;
 
        // For Success type Toast
        case R.id.button_success:
            Toasty.success(this, "This is a success Toast", Toast.LENGTH_SHORT).show();
            break;
 
        // For Info type Toast
        case R.id.button_info:
            Toasty.info(this, "This is an info Toast", Toast.LENGTH_SHORT).show();
            break;
 
        // For Warning type Toast
        case R.id.button_warning:
            Toasty.warning(this, "This is a warning Toast", Toast.LENGTH_SHORT).show();
            break;
 
        // For Norma type Toast
        // with an icon
        case R.id.button_normal:
            Toasty.normal(this, "This is a normal Toast", Toast.LENGTH_SHORT, ContextCompat.getDrawable(this, R.drawable.ic_android_black_24dp)).show();
            break;
        }
    }
}

输出: