Android设置dialog 位置和出入动画

Android开发中dialog使用是很平凡的,最常用的是居中弹窗,系统默认也是如此。
实际场景底部的也很常用,如分享平台对话框
效果如图:


Android设置dialog 位置和出入动画_第1张图片
分享.jpeg

代码如下
ShareDialog.java

    public ShareDialog(Context context) {
        super(context, 0);
        setContentView(R.layout.dialog_share); //布局文件
        mActivity = (Activity) context;

        Window window = getWindow();
        WindowManager.LayoutParams params = window.getAttributes();
 //dialog显示位置,不设置默认居中
        window.setGravity(Gravity.BOTTOM); 
        window.setBackgroundDrawableResource(android.R.color.transparent);

        params.width = getScreenWidth(context);
        params.height = WindowManager.LayoutParams.WRAP_CONTENT;
//显示动画,从底部往上
        params.windowAnimations = R.style.dialog_bottom_top;
        getWindow().setAttributes(params);

    }

    public static int getScreenWidth(Context context) {
        WindowManager wm = (WindowManager)context.getSystemService("window");
        DisplayMetrics outMetrics = new DisplayMetrics();
        wm.getDefaultDisplay().getMetrics(outMetrics);
        return outMetrics.widthPixels;
    }

styles.xml

    
    

dialog_enter.xml



    
    

dialog_exit.xml



    
    

你可能感兴趣的:(Android设置dialog 位置和出入动画)