项目中经常需要底部弹出框,这里我整理一下其中我用的比较顺手的一个方式(底部弹出一个横向满屏的dialog)。
效果图如下所示(只显示关键部分):
步骤如下所示:
1.定义一个dialog的布局(lay_share.xml)
<&#63;xml version="1.0" encoding="utf-8"&#63;>
2.定义弹出框弹出动画(dialog_enter.xml)
<&#63;xml version="1.0" encoding="utf-8"&#63;>dialog_enter.xml
3.定义弹出框隐藏动画(dialog_exit.xml)
<&#63;xml version="1.0" encoding="utf-8"&#63;>dialog_exit.xml
4.定义动画style
5.定义对话框样式
6.最后,在需要从底部弹出dialog的地方,直接调用showDialog()方法
/** * 显示分享弹出框 */ private void showDialog() { if (mShareDialog == null) { initShareDialog(); } mShareDialog.show(); } /** * 初始化分享弹出框 */ private void initShareDialog() { mShareDialog = new Dialog(this, R.style.dialog_bottom_full); mShareDialog.setCanceledOnTouchOutside(true); mShareDialog.setCancelable(true); Window window = mShareDialog.getWindow(); window.setGravity(Gravity.BOTTOM); window.setWindowAnimations(R.style.share_animation); View view = View.inflate(this, R.layout.lay_share, null); view.findViewById(R.id.tv_cancel).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (mShareDialog != null && mShareDialog.isShowing()) { mShareDialog.dismiss(); } } }); window.setContentView(view); window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);//设置横向全屏 }
以上所述是小编给大家介绍的Android 从底部弹出Dialog(横向满屏)的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!