1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Android 点击按钮出现弹窗

Android 点击按钮出现弹窗

时间:2022-02-16 16:00:02

相关推荐

Android 点击按钮出现弹窗

今天介绍几种常用的弹窗

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()中调用弹窗方法三即可

if (Utils.isFastClick()){ // 两次点击按钮之间的点击间隔不能少于1000毫秒Toast01.showShort(HomeActivity2.this,"设置为手动模式"); //使用Toastuil.showShort弹窗不会显示APP名称}

最后附上MainActivity中的代码

package com.example.myapp;import androidx.appcompat.app.AppCompatActivity;import util.Toast01;import util.Utils;import android.annotation.SuppressLint;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;public class HomeActivity2 extends AppCompatActivity {private TextView mtv_zhu2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_home2);mtv_zhu2 = findViewById(R.id.tv_zhu2);mtv_zhu2.setSelected(true);Button mbtn_sd = findViewById(R.id.btn_sd);Button mbtn_zd = findViewById(R.id.btn_zd);OnClick onClick = new OnClick();mbtn_sd.setOnClickListener(onClick);mbtn_zd.setOnClickListener(onClick);}class OnClick implements View.OnClickListener{@SuppressLint("NonConstantResourceId")@Overridepublic void onClick(View view) {switch (view.getId()){case R.id.btn_sd:mtv_zhu2.setText("手动模式 手动模式");if (Utils.isFastClick()){ // 两次点击按钮之间的点击间隔不能少于1000毫秒Toast01.showShort(HomeActivity2.this,"设置为手动模式"); //使用Toastuil.showShort弹窗不会显示APP名称}break;case R.id.btn_zd:mtv_zhu2.setText("自动模式 自动模式");if (Utils.isFastClick()){Toast01.showShort(HomeActivity2.this,"设置为自动模式");}break;}}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。