Android?Studio實現(xiàn)彈窗設(shè)置
本文實例為大家分享了Android Studio實現(xiàn)彈窗設(shè)置的具體代碼,供大家參考,具體內(nèi)容如下
彈窗能很好的顯示當(dāng)前處理事情的狀態(tài),那么這里介紹三種常用的彈窗方法。
1.最常用的彈窗顯示
直接使用Toast 等會在屏幕下方出現(xiàn)一個短延時的彈窗
首先在Activity中布局好控件以及給id,再就是在Mainactivity中申明id、綁定id,然后設(shè)置點擊事件,最后就是加上彈窗的代碼了
這就是直接在點擊事件里邊加入這個彈窗就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,用于之后直接調(diào)用即可
這個是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ào)用這個Toastutil就好了
Toastutil.showMsg(getApplicationContext(),"包裝過的Toast"); ? ? //包裝過的Toast彈窗,點擊多次會抵消,只出現(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彈窗,點擊多次會抵消,只出現(xiàn)一次 ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? } ? ? } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android基于OkHttpUtils網(wǎng)絡(luò)請求的二次封裝
這篇文章主要介紹了Android基于OkHttpUtils網(wǎng)絡(luò)請求的二次封裝,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03Android自定義PopupWindow實現(xiàn)炫酷的IOS對話框效果
這篇文章主要給大家介紹如何在android中實現(xiàn)高仿ios對話框效果,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2018-05-05Flutter 側(cè)滑欄及城市選擇UI的實現(xiàn)方法
這篇文章主要介紹了Flutter 側(cè)滑欄及城市選擇UI的實現(xiàn),本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07Android App開發(fā)中Gradle構(gòu)建過程的配置方法
這篇文章主要介紹了Android App開發(fā)中Gradle構(gòu)建過程的配置方法,包括在Gradle中配置manifest的方法,需要的朋友可以參考下2016-06-06Android進(jìn)階教程之ViewGroup自定義布局
這篇文章主要給大家介紹了關(guān)于Android進(jìn)階教程之ViewGroup自定義布局的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06