Android實現(xiàn)Window彈窗效果
本文實例為大家分享了Android實現(xiàn)Window彈窗效果的具體代碼,供大家參考,具體內容如下
效果圖
第一步 準備彈窗的布局,新建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="相冊選擇" 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、設置style dialog = new Dialog(context, R.style.DialogTheme); //2、設置布局 view = View.inflate(context, R.layout.photo_window, null); dialog.setContentView(view); Window window = dialog.getWindow(); //設置彈出位置 window.setGravity(Gravity.END); //設置對話框大小 window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); /** * 內部點擊事件 寫了一個 其他自寫 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(); } //關閉 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 } } });**/
擴展
其他屬性設置可以自己搜一下
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android如何獲取系統(tǒng)通知的開啟狀態(tài)詳解
這篇文章主要給大家介紹了關于Android如何獲取系統(tǒng)通知開啟狀態(tài)的相關資料,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者們具有一定的參考學習價值,需要的朋友們下面跟著小編來一起看看吧啊。2017-08-08簡析Android五大布局(LinearLayout、FrameLayout、RelativeLayout等)
這篇文章主要為大家簡單分析了Android五大布局,內容有LinearLayout、FrameLayout、RelativeLayout、AbsoluteLayout和TableLayout的相關資料,感興趣的小伙伴們可以參考一下2016-06-06Kotlin startActivity跳轉Activity實現(xiàn)流程詳解
在Android當中,Activity的跳轉有兩種方法,第一個是利用startActivity(Intent intent);的方法,第二個則是利用startActivityForResult(Intent intent,int requestCode);的方法,從字面上來看,這兩者之間的差別只在于是否有返回值的區(qū)別,實際上也確實只有這兩種區(qū)別2022-12-12Android應用中內嵌SQLite數(shù)據(jù)庫的基本操作指南
這篇文章主要介紹了Android應用中內嵌SQLite數(shù)據(jù)庫的基本操作指南,包括創(chuàng)建DAO類接口以及相關的增刪查改等操作的明說,需要的朋友可以參考下2016-02-02Android 使用Vibrator服務實現(xiàn)點擊按鈕帶有震動效果
這篇文章主要介紹了Android 使用Vibrator服務實現(xiàn)點擊按鈕帶有震動效果,,本文通過實例圖文相結合給大家介紹的非常詳細,對大家的學習火鍋工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06