您的位置:首页 > 移动开发 > Android开发

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

2016-08-02 10:30 197 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息