对话动画问题

时间:2012-03-02 10:43:23

标签: android

我正在尝试使用以下代码为对话框设置动画。

LayoutParams dialogParams = getWindow().getAttributes();
dialogParams.gravity = Gravity.TOP | Gravity.LEFT;
dialogParams.x= left;
dialogParams.y = top;
dialogParams.windowAnimations = R.style.dialog_animation;
getWindow().setAttributes(dialogParams);

这显示位置处的对话框(左,上)

现在关于 dialog_animation

<resources>
  <style name="dialog_animation">
        <item name="android:windowEnterAnimation">@anim/slide_in_top</item>
        <item name="android:windowExitAnimation">@anim/slide_out_top</item>
    </style>
</resources>

对话框在(左,上)正确显示。但问题是 - 动画是从屏幕的(0,0)位置发生的。

但我期待它从(左,上)开始。我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

动画的起点和结尾位置在“slide_in_top”和“slide_out_top”文件中定义 - android:fromXDeltaandroid:toXDeltaandroid:fromYDeltaandroid:toYDelta属性。< / p>

请注意,0%形式的值相对于视图本身,而0%p形式的值相对于视图的父级。