Android實(shí)現(xiàn)Window彈窗效果
本文實(shí)例為大家分享了Android實(shí)現(xiàn)Window彈窗效果的具體代碼,供大家參考,具體內(nèi)容如下
效果圖
第一步 準(zhǔn)備彈窗的布局,新建XML文件 photo_window
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#FFFFFFFF" android:orientation="vertical"> <TextView android:id="@+id/photo" android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center" android:text="拍攝" android:textColor="@color/black" android:textSize="16sp" /> <TextView android:id="@+id/choose_picture" android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center" android:text="相冊(cè)選擇" android:textColor="@color/black" android:textSize="16sp" /> <TextView android:id="@+id/cancel" android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center" android:text="取消" android:textColor="@color/black" android:textSize="16sp" /> </LinearLayout>
第二步 直接引用或者新建類,這里是新建類
public class ShowBottomDialog { private View view; private Dialog dialog; private OnItemClick onItemClick; public ShowBottomDialog(Context context) { //1、使用Dialog、設(shè)置style dialog = new Dialog(context, R.style.DialogTheme); //2、設(shè)置布局 view = View.inflate(context, R.layout.photo_window, null); dialog.setContentView(view); Window window = dialog.getWindow(); //設(shè)置彈出位置 window.setGravity(Gravity.END); //設(shè)置對(duì)話框大小 window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); /** * 內(nèi)部點(diǎn)擊事件 寫了一個(gè) 其他自寫 dialog.findViewById(R.id.photo).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // Toast.makeText(context,"photo",Toast.LENGTH_SHORT).show(); // dialog.dismiss(); if(onItemClick!=null){ onItemClick.onItemClick(view); } } }); **/ } //展示 public void show(){ dialog.show(); } //關(guān)閉 public void dismiss(){ dialog.dismiss(); } public interface OnItemClick{ void onItemClick(View view); } public void setOnItemClickListener(OnItemClick onItemClickListener){ this.onItemClick=onItemClickListener; } }
第三步引用
ShowBottomDialog showBottomDialog=new ShowBottomDialog(this); showBottomDialog.show(); /** showBottomDialog.setOnItemClickListener(new ShowBottomDialog.OnItemClick() { @Override public void onItemClick(View view) { switch (view.getId()){ //do something } } });**/
擴(kuò)展
其他屬性設(shè)置可以自己搜一下
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android如何獲取系統(tǒng)通知的開啟狀態(tài)詳解
這篇文章主要給大家介紹了關(guān)于Android如何獲取系統(tǒng)通知開啟狀態(tài)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起看看吧啊。2017-08-08簡(jiǎn)析Android五大布局(LinearLayout、FrameLayout、RelativeLayout等)
這篇文章主要為大家簡(jiǎn)單分析了Android五大布局,內(nèi)容有LinearLayout、FrameLayout、RelativeLayout、AbsoluteLayout和TableLayout的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-06-06fragment實(shí)現(xiàn)隱藏及界面切換效果
這篇文章主要為大家詳細(xì)介紹了fragment實(shí)現(xiàn)隱藏及界面切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11Android透明化和沉浸式狀態(tài)欄實(shí)踐及源碼分析
這篇文章主要介紹了Android透明化和沉浸式狀態(tài)欄實(shí)踐及源碼分析,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03Kotlin startActivity跳轉(zhuǎn)Activity實(shí)現(xiàn)流程詳解
在Android當(dāng)中,Activity的跳轉(zhuǎn)有兩種方法,第一個(gè)是利用startActivity(Intent intent);的方法,第二個(gè)則是利用startActivityForResult(Intent intent,int requestCode);的方法,從字面上來看,這兩者之間的差別只在于是否有返回值的區(qū)別,實(shí)際上也確實(shí)只有這兩種區(qū)別2022-12-12Android應(yīng)用中內(nèi)嵌SQLite數(shù)據(jù)庫(kù)的基本操作指南
這篇文章主要介紹了Android應(yīng)用中內(nèi)嵌SQLite數(shù)據(jù)庫(kù)的基本操作指南,包括創(chuàng)建DAO類接口以及相關(guān)的增刪查改等操作的明說,需要的朋友可以參考下2016-02-02Android 使用Vibrator服務(wù)實(shí)現(xiàn)點(diǎn)擊按鈕帶有震動(dòng)效果
這篇文章主要介紹了Android 使用Vibrator服務(wù)實(shí)現(xiàn)點(diǎn)擊按鈕帶有震動(dòng)效果,,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)火鍋工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06Android用Fragment創(chuàng)建選項(xiàng)卡
這篇文章主要為大家詳細(xì)介紹了Android用Fragment創(chuàng)建選項(xiàng)卡的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10