============问题描述============
在android中给Dialog设置动画的方法我只找到Dialog.getWindow().setWindowAnimation(int resID);
这样不是只能在styles里用xml定义动画吗?
但是我现在想要先用程序计算出一个屏幕上的点,在让Dialog从该点开始执行scaleAnimation。
我如何给我Dialog的动画设置起始点之类的参数呢?
============解决方案1============
自定义一个dialog
public class CustomDialog extends Dialog {
public CustomDialog (Context context) {
WindowManager.LayoutParams para = getWindow().getAttributes();
para.x = 0; //设置起始点
para.y = 0;
para.width = WindowManager.LayoutParams.MATCH_PARENT;
para.windowAnimations = android.R.style.Animation;
para.gravity = Gravity.TOP | Gravity.LEFT;
}
}
试试