Android Studio 之 Toast
•参考资料
•简介
Toast 是 Android 系统提供的一种非常好的提醒方式;
在程序中可以使用它将一些短小的信息通知给用户;
这些信息会在一段时间内自动消失,并且不会占用任何屏幕空间
•Toast.makeText()函数原型
Toast.makeText(参数1,参数2,参数3);
- 参数1是 Context,也就是 Toast 要求的上下文,由于活动本身就是一个Context对象,因此直接传入XXActivity.this 即可,或者填入 getApplicationContext()
- 参数2是 Toast 显示的文本内容
- 参数3是 Toast 显示的时长,有两个内置常量可以选择 Toast.LENGTH_SHORT 和 Toast.LENGTH_LONG
•自定义 Toast
效果展示图:
实现方法:
首先,在 layout 文件夹下自定义一个 .xml 文件,并命名为 toast.xml;
在里面放入如下代码:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center"> <com.example.table.ImageViewPlus android:id="@+id/toast_iv_1" android:layout_centerHorizontal="true" android:layout_width="100dp" android:layout_height="100dp" android:scaleType="centerInside" /> <TextView android:layout_below="@id/toast_iv_1" android:layout_centerHorizontal="true" android:id="@+id/toast_tv_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="26sp" android:textColor="#D32F2F" android:gravity="center" /> </RelativeLayout>其中的 <ImageViewPlus> 控件是我之前自定义的圆形 ImageView,详情见我这篇博客;
然后,自定义一个 Empty Activity 并命名为 DefineToastActivity,在其对应的 .xml 中添加如下代码:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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:layout_width="match_parent" android:layout_height="match_parent" tools:context=".DefineToastActivity" android:background="#1976D2"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:orientation="horizontal"> <Button android:id="@+id/btn_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Cat" /> <Button android:id="@+id/btn_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Dog" /> </LinearLayout> </RelativeLayout>activity_define_toast.xml
并在 DefineToastActivity.java 中设置点击事件的代码,并设置 Toast;
package com.example.table; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; public class DefineToastActivity extends AppCompatActivity { private Button Btn1; private Button Btn2; private Toast toast; private LayoutInflater inflater; private View view; private ImageView Iv; private TextView Tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_define_toast); toast = new Toast(getApplicationContext()); inflater = LayoutInflater.from(DefineToastActivity.this); view = inflater.inflate(R.layout.toast,null); Iv = view.findViewById(R.id.toast_iv_1);//找到 toast.xml 中 ImageView 控件的 id Tv = view.findViewById(R.id.toast_tv_1);//找到 toast.xml 中 TextView 控件的 id Btn1 = findViewById(R.id.btn_1); Btn2 = findViewById(R.id.btn_2); Btn1.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ Iv.setImageResource(R.mipmap.cat); Tv.setText("喵喵喵"); toast.setView(view); toast.setDuration(Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER,0,0);//将该toast居中显示 toast.show(); } }); Btn2.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ Iv.setImageResource(R.mipmap.dot); Tv.setText("汪汪汪"); toast.setView(view); toast.setDuration(Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER,0,0);//将该toast居中显示 toast.show(); } }); } }DefineToastActivity.java
相关推荐
fengyeezju 2020-06-25
huha 2020-10-16
xfcyhades 2020-11-20
sgafdsg 2020-11-04
Michael 2020-11-03
fengyeezju 2020-10-14
ziyexiaoxiao 2020-10-14
业余架构师 2020-10-09
OuNuo0 2020-09-29
moses 2020-09-22
Angelia 2020-09-11
qinxu 2020-09-10
刘炳昭 2020-09-10
Nostalgiachild 2020-09-07
Nostalgiachild 2020-08-17
leavesC 2020-08-14
一青年 2020-08-13
AndroidAiStudy 2020-08-07
ydc0 2020-07-30