# WindowShowDemo **Repository Path**: zyjwall/WindowShowDemo ## Basic Information - **Project Name**: WindowShowDemo - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-24 - **Last Updated**: 2023-10-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WindowShowDemo 1、简介 本文将主要介绍Android常见的窗体效果。包括Dialog,DialogFragment,PopupWindow,BottomSheetDialog以及自定义view实现弹窗等效果。 附属包含进度条效果以及自定义Toast。
案例包含,dialog仿淘宝购买页,dialogFragment实现仿爱好选择,popupwindow实现拍照选择,bottomsheetDialog实现条目选择,chipChildren实现仿咸鱼添加菜单效果,dialog实现仿ios拍照选择,自定义view背景和布局方式实现顶部筛选效果,DialogFragment实现弹窗更新效果,自定义dialog效果,建造者模式模仿AlertDialog,进度条效果等
[apk下载](https://github.com/crazyzhangxl/WindowShowDemo/blob/master/app/release/app-release.apk)
### 运行效果
            ![image](https://github.com/crazyzhangxl/WindowShowDemo/blob/master/app/screenshots/1.png)       ![image](https://github.com/crazyzhangxl/WindowShowDemo/blob/master/app/screenshots/2.png)
             ![image](https://github.com/crazyzhangxl/WindowShowDemo/blob/master/app/screenshots/4.png)       ![image](https://github.com/crazyzhangxl/WindowShowDemo/blob/master/app/screenshots/update.png)
            ![image](https://github.com/crazyzhangxl/WindowShowDemo/blob/master/app/screenshots/5.png)       ![image](https://github.com/crazyzhangxl/WindowShowDemo/blob/master/app/screenshots/6.png)

            ![image](https://github.com/crazyzhangxl/WindowShowDemo/blob/master/app/screenshots/xianyu.png)       ![image](https://github.com/crazyzhangxl/WindowShowDemo/blob/master/app/screenshots/ios.png)                             ![image](https://github.com/crazyzhangxl/WindowShowDemo/blob/master/app/screenshots/xianyu2.gif)            ![image](https://github.com/crazyzhangxl/WindowShowDemo/blob/master/app/screenshots/popup.png)

            ![image](https://github.com/crazyzhangxl/WindowShowDemo/blob/master/app/screenshots/progress.png)

2.1 Dialog形式 注释写的还是很清晰的,如下。 private void showPurchaseView() { // 以特定的风格创建一个dialog Dialog dialog = new Dialog(this,R.style.MyDialog); // 加载dialog布局view View purchase = LayoutInflater.from(this).inflate(R.layout.dialog_purchase, null); // 设置外部点击 取消dialog dialog.setCancelable(true); // 获得窗体对象 Window window = dialog.getWindow(); // 设置窗体的对齐方式 window.setGravity(Gravity.BOTTOM); // 设置窗体动画 window.setWindowAnimations(R.style.AnimBottom); // 设置窗体的padding window.getDecorView().setPadding(0, 0, 0, 0); WindowManager.LayoutParams lp = window.getAttributes(); lp.width = WindowManager.LayoutParams.MATCH_PARENT; lp.height = WindowManager.LayoutParams.WRAP_CONTENT; window.setAttributes(lp); dialog.setContentView(purchase); dialog.show(); } 下面给出style的设置。   R.layout.dialog_purchase.xml  其实这里还是挺重要的: 1. 得为布局设置白色背景 否则为dialog背景色 2. 这种错落的效果 是使用的 clipChildren = "false" 属性,需要去了解