Android_(消息提示)多种使用Toast的消息提示
2023-09-14 08:57:05 时间
Toast是一种提供给用户简介信息的视图,可以创建和显示消息,该视图以浮于应用程序之上的形式呈现给用户。因为它并不获得焦点,即使用户正在输入什么也不会受到影响。
Toast目标是尽可能以不显眼的方式,使用户看到提示的信息。
运行截图:
程序结构
package com.example.asus.gary_74; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private Button bt1,bt2,bt3,bt4; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bt1=(Button)findViewById(R.id.button); bt1.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { //Toast.LENGTH_SHORT 大约2秒 //Toast.LENGTH_LONG 大约3.5秒 Toast toast = Toast.makeText(MainActivity.this,"默认的Toast",Toast.LENGTH_LONG); toast.show(); } }); bt2=(Button)findViewById(R.id.button2); bt2.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { Toast toast=Toast.makeText(getApplicationContext(), "自定义显示位置的Toast", Toast.LENGTH_SHORT); //第一个参数:设置toast在屏幕中显示的位置。我现在的设置是居中靠顶 //第二个参数:相对于第一个参数设置toast位置的横向X轴的偏移量,正数向右偏移,负数向左偏移 //第三个参数:同的第二个参数道理一样 //如果你设置的偏移量超过了屏幕的范围,toast将在屏幕内靠近超出的那个边界显示 toast.setGravity(Gravity.TOP|Gravity.CENTER, -50, 100); //屏幕居中显示,X轴和Y轴偏移量都是0 //toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } }); bt3=(Button)findViewById(R.id.button3); bt3.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { Toast toast=Toast.makeText(getApplicationContext(), "显示带图片的toast",Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); //创建图片视图对象 ImageView imageView= new ImageView(getApplicationContext()); //设置图片 imageView.setImageResource(android.R.drawable.ic_input_add); //获得toast的布局 LinearLayout toastView = (LinearLayout) toast.getView(); //设置此布局为横向的 toastView.setOrientation(LinearLayout.HORIZONTAL); //将ImageView在加入到此布局中的第一个位置 toastView.addView(imageView, 0); toast.show(); } }); } }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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" android:orientation="vertical" tools:context="com.example.asus.gary_74.MainActivity"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Gary_Toast!" android:textSize="40px" /> <Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="默认显示" /> <Button android:id="@+id/button2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="自定义位置显示" /> <Button android:id="@+id/button3" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="带图片显示" /> </LinearLayout>
一、界面布局
三个Button,分别显示不同的Toast提示效果
二、实现程序功能
1、显示默认的Toast消息
Toast makeText(Context context,int resId,int duration)
context:使用的上下文,通常是Activity对象
resId:要使用的字符串资源ID
duration:该消息的在屏幕上停留的时间。值为LENGTH_SHORT或者LENGTH_LONG
bt1=(Button)findViewById(R.id.button); bt1.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { //Toast.LENGTH_SHORT 大约2秒 //Toast.LENGTH_LONG 大约3.5秒 Toast toast = Toast.makeText(MainActivity.this,"默认的Toast",Toast.LENGTH_LONG); toast.show(); } });
2、自定义位置显示Toast消息
void setDuration(int gravity,int xOffset,int yOfset)
设置提示消息在屏幕上显示的位置
bt2=(Button)findViewById(R.id.button2); bt2.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { Toast toast=Toast.makeText(getApplicationContext(), "自定义显示位置的Toast", Toast.LENGTH_SHORT); //第一个参数:设置toast在屏幕中显示的位置。我现在的设置是居中靠顶 //第二个参数:相对于第一个参数设置toast位置的横向X轴的偏移量,正数向右偏移,负数向左偏移 //第三个参数:同的第二个参数道理一样 //如果你设置的偏移量超过了屏幕的范围,toast将在屏幕内靠近超出的那个边界显示 toast.setGravity(Gravity.TOP|Gravity.CENTER, -50, 100); //屏幕居中显示,X轴和Y轴偏移量都是0 //toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } });
3、显示带图片的Toast消息
bt3=(Button)findViewById(R.id.button3); bt3.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { Toast toast=Toast.makeText(getApplicationContext(), "显示带图片的toast",Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); //创建图片视图对象 ImageView imageView= new ImageView(getApplicationContext()); //设置图片 imageView.setImageResource(android.R.drawable.ic_input_add); //获得toast的布局 LinearLayout toastView = (LinearLayout) toast.getView(); //设置此布局为横向的 toastView.setOrientation(LinearLayout.HORIZONTAL); //将ImageView在加入到此布局中的第一个位置 toastView.addView(imageView, 0); toast.show(); } });
相关文章
- [Android Traffic] android 流量计算方法
- awesome-android
- Android API之android.widget.Filterable
- Android API之android.os.Parcelable
- 【 Android Manifest 权限描述大全 】
- 《android开发艺术探索》读书笔记(十)--Android的消息机制
- 《android开发艺术探索》读书笔记(十)--Android的消息机制
- Android Handler 的必修课一
- Android性能优化:Github下载超10万次的360°全方面性能调优指南(含内存优化、布局优化、实战解析等)
- 让Android应用不被杀死(killer)的方法
- Android IPC(三)AIDL实现跨进程通信
- Android 9.0 rom定制化系列讲解导读
- Android 9.0 延时开机动画解决首次开机黑屏和去掉android正在启动的提示框
- Android 10.0 SystemUI 屏蔽状态栏消息推送弹出的悬浮通知
- 【Android 插件化】“ 插桩式 “ 插件化框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources 资源 )
- 【Android 异步操作】线程池 ( 线程池 execute 方法源码解析 )
- android 进度条
- 【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性
- Android的报错提示:Failed to resolve: com.android.support:appcompat-v7:28.0.0
- android系统硬件OpenGL 3D移植(二)