Android Studio实现弹窗设置
作者:x97666 时间:2022-08-20 19:49:03
本文实例为大家分享了Android Studio实现弹窗设置的具体代码,供大家参考,具体内容如下
弹窗能很好的显示当前处理事情的状态,那么这里介绍三种常用的弹窗方法。
1.最常用的弹窗显示
直接使用Toast 等会在屏幕下方出现一个短延时的弹窗
首先在Activity中布局好控件以及给id,再就是在Mainactivity中申明id、绑定id,然后设置点击事件,最后就是加上弹窗的代码了
这就是直接在点击事件里边加入这个弹窗就OK了
Toast.makeText(getApplicationContext(), "Toast", Toast.LENGTH_SHORT).show();
//屏幕下方的弹窗
2.这个就是在屏幕中间显示一个短延时的弹窗
这个和上面的差不多,稍微修改就好
在点击事件中加入以下代码
Toast toastCenter = Toast.makeText(getApplicationContext(),"居中Toast",Toast.LENGTH_SHORT); //屏幕居中的弹窗
toastCenter.setGravity(Gravity.CENTER,0,0);
toastCenter.show();
3.第三种的显示效果和第一种是一样的,都是显示在屏幕下方的一个短延时弹窗,但是有一点不同的是,如果是第一种弹窗的话,那么点击三次,它的弹窗就会排队显示三次,显然这种效果不是我们想要的,那么如何让它点击多次,而只显示一次短延时弹窗呢,那么就要用到今天的第三种弹窗代码了
这里我是在Java中新建了一个util文件,然后写了一个Toasttutil,用于之后直接调用即可
这个是Toasttutil中的代码
package util;
import android.content.Context;
import android.widget.Toast;
public class Toastutil {
public static Toast mtoast;
public static void showMsg(Context context,String msg){
if (mtoast==null){
mtoast = Toast.makeText(context,msg,Toast.LENGTH_LONG);
}else {
mtoast.setText(msg);
}
mtoast.show();
}
}
最后就是在点击事件中调用这个Toastutil就好了
Toastutil.showMsg(getApplicationContext(),"包装过的Toast");
//包装过的Toast弹窗,点击多次会抵消,只出现一次
最后附上我Mainactivity.java中的全部代码!
package com.example.daytwo;
import androidx.appcompat.app.AppCompatActivity;
import util.Toastutil;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import java.util.zip.Inflater;
public class ToastActivity6 extends AppCompatActivity {
private Button mbtn_toast_1;
private Button mbtn_toast_2;
private Button mbtn_toast_3;
private Button mbtn_toast_4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_toast6);
mbtn_toast_1 = findViewById(R.id.btn_toast_1);
mbtn_toast_2 = findViewById(R.id.btn_toast_2);
mbtn_toast_3 = findViewById(R.id.btn_toast_3);
mbtn_toast_4 = findViewById(R.id.btn_toast_4);
OnClick onClick = new OnClick();
mbtn_toast_1.setOnClickListener(onClick);
mbtn_toast_2.setOnClickListener(onClick);
mbtn_toast_3.setOnClickListener(onClick);
mbtn_toast_4.setOnClickListener(onClick);
}
class OnClick implements View.OnClickListener{
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btn_toast_1:
Toast.makeText(getApplicationContext(), "Toast", Toast.LENGTH_SHORT).show(); //屏幕下方的弹窗
break;
case R.id.btn_toast_2:
Toast toastCenter = Toast.makeText(getApplicationContext(),"居中Toast",Toast.LENGTH_SHORT); //屏幕居中的弹窗
toastCenter.setGravity(Gravity.CENTER,0,0);
toastCenter.show();
break;
case R.id.btn_toast_3:
Toast toastCustom = new Toast(getApplicationContext());
LayoutInflater layoutInflater = LayoutInflater.from(ToastActivity6.this);
//View.inflate(R.layout.)
//toastCustom.setView();
break;
case R.id.btn_toast_4:
Toastutil.showMsg(getApplicationContext(),"包装过的Toast"); //包装过的Toast弹窗,点击多次会抵消,只出现一次
break;
}
}
}
}
来源:https://blog.csdn.net/x97666/article/details/120592516
标签:Android,Studio,弹窗
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
java二叉树面试题详解
2021-06-13 08:40:23
![](https://img.aspxhome.com/file/2023/6/63016_0s.png)
详谈Lock与synchronized 的区别
2023-03-26 18:13:14
Dockerfile 部署java web的环境详解
2021-10-02 00:41:44
新手小白看过来学JAVA必过IO流File字节流字符流
2022-09-22 07:42:02
![](https://img.aspxhome.com/file/2023/8/69908_0s.jpg)
java使用回溯法求解数独示例
2023-08-17 14:39:10
Android Studio 生成自定义jar包的步骤详解
2023-01-31 05:02:41
![](https://img.aspxhome.com/file/2023/2/138312_0s.png)
mybatis中<if>标签bool值类型为false判断方法
2023-11-20 11:28:33
Unity shader实现消融效果
2023-03-06 01:06:44
![](https://img.aspxhome.com/file/2023/4/66584_0s.gif)
浅谈Android串口通讯SerialPort原理
2023-03-31 12:39:52
![](https://img.aspxhome.com/file/2023/0/117080_0s.png)
C#枚举类型与位域枚举Enum
2023-03-02 06:52:27
轻松学习C#的方法
2023-06-21 13:22:32
![](https://img.aspxhome.com/file/2023/3/66573_0s.jpg)
IDEA 单元测试覆盖技巧分享
2022-09-09 03:50:26
![](https://img.aspxhome.com/file/2023/0/96270_0s.jpg)
java实现单词搜索迷宫游戏
2023-11-10 22:44:32
Spring Boot项目使用Flyway的详细教程
2021-12-19 12:05:58
![](https://img.aspxhome.com/file/2023/5/70305_0s.png)
c#字符串值类型与引用类型比较示例
2021-12-19 04:26:33
SpringBoot中如何统一接口返回与全局异常处理详解
2021-08-11 02:22:35
![](https://img.aspxhome.com/file/2023/9/129229_0s.png)
Android自定义View多种效果解析
2022-05-26 06:59:46
![](https://img.aspxhome.com/file/2023/2/139242_0s.png)
spring boot项目中MongoDB的使用方法
2021-06-10 13:31:23
SpringBoot过滤器与拦截 器深入分析实现方法
2023-11-28 23:04:15
Android Mms之:对话与联系人关联的总结详解
2023-12-06 13:12:57