Toast 类通常用于显示一些快速提示信息,应用范围非常广泛。下面将对 Toast 类进行详细介绍。应用 Toast 类
在屏幕中显示的消息提示框具有如下几个特点:

  • 没有任何控制按钮。
  • 不会获得焦点。
  • 经过一段时间后会自动消失。

使用 Toast 类来显示消息提示框比较简单,一般一条语句就可以实现:

Toast.makeText(getApplicationContext(),"提示内容",Toast.LENGTH_SHORT).show();

但是随着我们学习的深入,系统自带的样式已经满足不了我们的需求了,这时我们就需要直接来设计提示框的样式。
下面将简单介绍一下Toast自定义样式如何实现的。
实现自定义Toast有两步较关键。
第一步:设计自定义布局layout
第二步:对Toast类的以下参数进行设置。


这里贴出一个简单的代码:

toast_layout.xml

<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/toast_view"    android:layout_width="match_parent"    android:layout_height="wrap_content">    <ImageView        android:id="@+id/img_toast"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        app:layout_constraintEnd_toEndOf="parent"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toTopOf="parent"        app:srcCompat="@drawable/icon_tip" />    <TextView        android:id="@+id/tv_toast"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="这是一个自定义的Toast"        android:textSize="30sp"        app:layout_constraintEnd_toEndOf="parent"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toBottomOf="@+id/img_toast" /></androidx.constraintlayout.widget.ConstraintLayout>

ToastUtils.java

package com.example.mydemo;import android.content.Context;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;import androidx.annotation.NonNull;public class ToastUtils{         private static Toast toast = null;        public static void showToast(@NonNull Context context,                                 @NonNull LayoutInflater inflater,                                 @NonNull int layout) {             if (toast == null){                 //填充自定义视图            View vToast = inflater.inflate(layout,null);            toast = new Toast(context);            //设置自定义视图            toast.setView(vToast);            //设置持续时间(Toast.LENGTH_SHORT或者Toast.LENGTH_LONG)            toast.setDuration(Toast.LENGTH_SHORT);            //设置位置            toast.setGravity(Gravity.CENTER,0,0);        }        //显示toast        toast.show();    }}

这样我们就可以愉快的使用自己设置的Toast提示样式了。

ToastCustomActivity.java

package com.example.mydemo;import androidx.appcompat.app.AppCompatActivity;import android.content.Context;import android.os.Bundle;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.widget.Toast;public class ToastCustomActivity extends AppCompatActivity {         private int num = 0;    @Override    protected void onCreate(Bundle savedInstanceState) {             super.onCreate(savedInstanceState);        setContentView(R.layout.activity_toast_custom);        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {                 @Override            public void onClick(View v) {                     num++;               ToastUtils.showToast(getApplicationContext(),getLayoutInflater(),R.layout.toast_layout,                       "新的提示内容"+num,R.drawable.icon_tip);            }        });    }}

链接:百度网盘下载 提取码:43v6

更多相关文章

  1. 学习使用DrawerLayout
  2. Flutter与Android通信 记录
  3. Android——LinearLayout按下(state_pressed)或获取焦点时(state
  4. Android(安卓)滑动scrollBy()和scrollTo()两个方法的简单认识
  5. 一、初识GVR ---- Android(安卓)VR视频/Google VR for Android(
  6. Android(安卓)Studio老是提示重启ADB解决!
  7. Android(安卓)中点击两次返回键才退出
  8. Android(14) ArrayAdapter(数组适配器)的三种方法
  9. 第一行代码 Android(安卓)第 2 版 读书笔记

随机推荐

  1. [Android开发实战]Android添加快捷方式到
  2. Android中的资源与国际化!
  3. Android(安卓)启动Service监听网络状态
  4. Android中应用程序drawable图片资源占用
  5. Android界面布局基本知识简述
  6. conversion to dalvik format failed wit
  7. Android(安卓)第十七天
  8. Android历次主要版本更新说明书
  9. Android(安卓)Material Design之在Recycl
  10. Android(安卓)UI草图设计器–Pencil