Android Studio弹窗设置
x97666 人气:0弹窗能很好的显示当前处理事情的状态,那么这里介绍三种常用的弹窗方法。
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; } } } }
加载全部内容