android点击按钮弹出提示框学号姓名
发布网友
发布时间:2022-12-24 09:21
我来回答
共1个回答
热心网友
时间:2023-10-08 23:02
1.最常用的一种弹窗
Toast.makeText(HomeActivity2.this, "设置为自动模式", Toast.LENGTH_SHORT).show();
2.第二种
这个是自己写一个方式,就是使用方法
Toastutil.showMsg(HomeActivity2.this,"设置为自动模式");
首先在Java中新建一个util文件,然后写一个Toasttutil,用于之后直接调用即可
这个就是Toasttutil中的代码
package util;
import android.content.Context;
import android.widget.Toast;
//** 使用这个方法 弹窗可实现短时间多次点击按钮,弹窗只弹一次; 但是不管按哪个按钮首次弹窗会显示APP名称 **//
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_SHORT);
}else {
mtoast.setText(msg);
}
mtoast.show();
}
}
使用这个方法的弹窗如果在短时间内多次点击,那么就只会出现一次弹窗,而且不管按哪个按钮,首次按下去弹出的弹窗会显示APP名称,所以这种我用的不是很多。
3.第三种
这是在网上找到的一种方法,也是自定义的方法
Toast01.showShort(HomeActivity2.this,"设置为自动模式");
同样的是在Util中新建一个Toasttutil01文件
附上Toasttuil01中的代码
package util;
import android.content.Context;
import android.widget.Toast;
//** 使用这个方法 可以解决弹窗显示APP名称的问题,且首次弹窗也不会显示APP名称,但是点击几次按钮,弹窗就会弹出几次;所以使用这个弹出请结合 Utils 使用即可解决! **//
public class Toast01 {
public static Toast mToast;
public static void showShort(Context context, CharSequence message) {
Toast mToast = Toast.makeText(context, null, Toast.LENGTH_SHORT);
mToast.setText(message);
mToast.show();
}
}
使用第三种的方法可以不显示APP名称,但是不能解决短时间内多次点击只显示一次的问题,那么有没有什么办法能既让APP名不显示,又能让短时间内多次点击只单次显示呢!答案是当然有的。
最后这个也是自定义一个方法,但是这个是设置一下让按钮的两次之间的点击间隔时间,那么这样设计就可以解决第二种第三种弹窗出现的问题了。
这个是代码
package util;
//** 这是点击按钮的时间间隔设置 **//
public class Utils {
// 两次点击按钮之间的点击间隔不能少于1000毫秒
private static final int MIN_CLICK_DELAY_TIME = 2000;
private static long lastClickTime;
public static boolean isFastClick() {
boolean flag = false;
long curClickTime = System.currentTimeMillis();
if ((curClickTime - lastClickTime) >= MIN_CLICK_DELAY_TIME) {
flag = true;
}
lastClickTime = curClickTime;
return flag;
}
}
这种就是需要结合第三种的弹窗使用
首先在按钮的点击事件中调用这第四种方法,然后再在Utils.isFastClick()中调用弹窗方法三即可