android 实现由下至上弹出并位于屏幕底部的Dialog

来源:互联网 发布:买涨买跌的软件 编辑:程序博客网 时间:2024/05/14 14:34

private void shareDialog() {if (shareDialog == null) {/** Dialog的初始化 **/int width = mContext.getWindowManager().getDefaultDisplay().getWidth();int height = mContext.getWindowManager().getDefaultDisplay().getHeight()/2;shareDialog = new ShareDialog(mContext, R.style.dialog);Window window = shareDialog.getWindow();window.setGravity(Gravity.BOTTOM);  //此处可以设置dialog显示的位置window.setWindowAnimations(R.style.fackstyle);  //添加动画WindowManager.LayoutParams attributes = window.getAttributes();attributes.width = width;attributes.height = height;window.setAttributes(attributes);}shareDialog.show();}

styles.xml

<?xml version="1.0" encoding="utf-8"?><resources xmlns:android="http://schemas.android.com/apk/res/android">    <style name="fackstyle" parent="android:Animation">        <item name="@android:windowEnterAnimation">@anim/dialog_enter</item>  //进入时的动画        <item name="@android:windowExitAnimation">@anim/dialog_exit</item>    //退出时的动画    </style><pre style="background-color:#ffffff;color:#000000;font-family:'宋体';font-size:10.5pt;"></<span style="color:#000080;font-weight:bold;">resources</span>>

位于 res/anim/enter_dialog.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <translate        android:fromYDelta="100%p"        android:duration="300"    />    <!--持续时间300--></set>

位于 res/anim/exit_dialog.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <translate        android:toYDelta="100%p"        android:duration="300"    />    <!--持续时间300--></set>



0 0
原创粉丝点击