日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Android?Studio實(shí)現(xiàn)彈窗設(shè)置_Android

作者:x97666 ? 更新時(shí)間: 2022-06-21 編程語言

本文實(shí)例為大家分享了Android Studio實(shí)現(xiàn)彈窗設(shè)置的具體代碼,供大家參考,具體內(nèi)容如下

彈窗能很好的顯示當(dāng)前處理事情的狀態(tài),那么這里介紹三種常用的彈窗方法。

1.最常用的彈窗顯示

直接使用Toast 等會(huì)在屏幕下方出現(xiàn)一個(gè)短延時(shí)的彈窗

首先在Activity中布局好控件以及給id,再就是在Mainactivity中申明id、綁定id,然后設(shè)置點(diǎn)擊事件,最后就是加上彈窗的代碼了

這就是直接在點(diǎn)擊事件里邊加入這個(gè)彈窗就OK了

Toast.makeText(getApplicationContext(), "Toast", Toast.LENGTH_SHORT).show(); ? ?
//屏幕下方的彈窗

2.這個(gè)就是在屏幕中間顯示一個(gè)短延時(shí)的彈窗

這個(gè)和上面的差不多,稍微修改就好

在點(diǎn)擊事件中加入以下代碼

Toast toastCenter = Toast.makeText(getApplicationContext(),"居中Toast",Toast.LENGTH_SHORT); ?//屏幕居中的彈窗
toastCenter.setGravity(Gravity.CENTER,0,0);
toastCenter.show();

3.第三種的顯示效果和第一種是一樣的,都是顯示在屏幕下方的一個(gè)短延時(shí)彈窗,但是有一點(diǎn)不同的是,如果是第一種彈窗的話,那么點(diǎn)擊三次,它的彈窗就會(huì)排隊(duì)顯示三次,顯然這種效果不是我們想要的,那么如何讓它點(diǎn)擊多次,而只顯示一次短延時(shí)彈窗呢,那么就要用到今天的第三種彈窗代碼了

這里我是在Java中新建了一個(gè)util文件,然后寫了一個(gè)Toasttutil,用于之后直接調(diào)用即可

這個(gè)是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();
? ? }
}

最后就是在點(diǎn)擊事件中調(diào)用這個(gè)Toastutil就好了

Toastutil.showMsg(getApplicationContext(),"包裝過的Toast"); ? ?
//包裝過的Toast彈窗,點(diǎn)擊多次會(huì)抵消,只出現(xiàn)一次

最后附上我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彈窗,點(diǎn)擊多次會(huì)抵消,只出現(xiàn)一次
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? }
? ? }
}

原文鏈接:https://blog.csdn.net/x97666/article/details/120592516

欄目分類
最近更新