/** * 第一章 * 1.红色部分替换为你自己的布局 * 2.黄色部分为样式和动画(看第二章) * a.layout_view_dialog_intention_car 样式 * b.main_menu_animstyle 动画 * 理解LayoutInflater布局的引入和弹框的显示 */ public void init() { LayoutInflater mInflater = LayoutInflater.from(mActivity); mView = mInflater.inflate(R.layout.layout_view_dialog_intention_car, null); mDialog = new Dialog(mActivity, R.style.transparentFrameWindowStyle); mDialog.setContentView(mView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); Window window = mDialog.getWindow(); // 设置显示动画 window.setWindowAnimations(R.style.main_menu_animstyle); WindowManager.LayoutParams wl = window.getAttributes(); wl.x = 0; wl.y = mActivity.getWindowManager().getDefaultDisplay().getHeight(); wl.width = ViewGroup.LayoutParams.MATCH_PARENT; wl.height = ViewGroup.LayoutParams.WRAP_CONTENT; // 设置显示位置 mDialog.onWindowAttributesChanged(wl); mDialog.setCanceledOnTouchOutside(true); mDialog.show(); } /** * 第二章 样式与动画 * 理解动画和样式的引用 */ <!--底部往上滑动弹框--> <style name="transparentFrameWindowStyle"parent="android:style/Theme.Dialog"> <item name="android:windowBackground">@drawable /bg</item> </style> <style name="main_menu_animstyle"> <item name="android:windowEnterAnimation">@anim /dialog_in_anim</item> <item name="android:windowExitAnimation">@anim /dialog_out_anim</item> </style> /** * 第二章/第一节 动画 * dialog_in_anim 和 dialog_out_anim * 理解如何实现 */ <? xml version = "1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="500" android:fromXDelta="0" android:fromYDelta="1000" android:toXDelta="0" android:toYDelta="0"/> </set> <? xml version = "1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:toYDelta="100%p" android:duration="600"/> </set> /** * 第二章/第二节 样式(这是我项目中需要使用的 如果你不需要可以不用添加) */ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#00000000" /> <corners android:radius="20dip" /> <padding android:bottom="5dp" android:left="5dp" android:right="5dp" android:top="5dp" /> </shape>
由浅入深之自定义滑动弹框样式
最新推荐文章于 2021-06-09 13:26:37 发布