Android Studio实现弹窗设置
作者:x97666 发布时间:2022-08-20 19:49:03
标签:Android,Studio,弹窗
本文实例为大家分享了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


猜你喜欢
- 使用注解来配置Action可以实现零配置,零配置将从基于纯XML的配置转化为基于注解的配置。使用注解,可以在大多数情况下避免使用
- 在 Java 中,LinkedList 和 ArrayList 的性能是不同的,具体取决于你所需要的操作。对于频繁的插入和删除操作,Link
- 我的环境* JDK 1.8 * maven 3.6.0 * node环境1.为什么需要前后端项目开发时分离,部署时合并?
- 前言为什么要学SpringBoot和Mybatis呢,我觉得作为一个合格的后端程序员增删改查(CRUD)肯定是要会的,而且是最基本的一项技能
- 前言对于线程安全,我们有说不尽的话题。大多数保证线程安全的方法是添加各种类型锁,使用各种同步机制,用限制对共享的、可变的类变量并发访问的方式
- 使用类的全权名: System.Text.StringBuilder sb = new System.Text.StringBuilder(
- 面试的时候被问到,如何遍历System.drawing.Color下面的所有颜色以及名称以查看,当时答得不好,现将方案记录如下:View C
- 本例是利用C#中的性能计数器(PerformanceCounter)监控网络的状态。并能够直观的展现出来涉及到的知识点:Performanc
- Spring @Configuration 和 @Component 区别一句话概括就是 @Configuration 中所有带 @Bean
- 在前面我们已经完成了ActiveX控件的开发,接下来的就是发布它了。  
- Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,
- Spring Security简介Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的
- 一、WIndow和windowManagerWindow是一个抽象类,它的具体实现是PhoneWindow,创建一个window很简单,只需
- 在Android开发中我们很多地方都用到了方法的回调,回调就是把方法的定义和功能导入实现分开的一种机制,目的是为了解耦他的本质是基于观察者设
- 详解C#使用AD(Active Directory)验证内网用户名密码1. 连到内网,找到AD的domain地址nslookup set t
- sql中like通配符模糊匹配问题针对oracle数据库:将查询条件通过功能类处理/** * Desc
- 使用限定符在平板上面大多数时候采用的双页的模式,程序会在左侧列表上显示一个包含子项列表,右侧的面版会显示详细的内容的因为平板具有足够大的屏幕
- collect通知flow执行public suspend inline fun <T> Flow<T>.colle
- 话不多说,请看代码:import java.io.*; import jxl.*; import jxl.write.*; //用java将
- 匿名类类型类可以是匿名的 - 也就是说,可以在没有 identifier 的情况下声明类。在将类名称替换为 typedef 名称时,这会很有