2012-03-02 144 views
1

我想通过使用下面的代码来动画化对话框。对话框动画问题

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)位置发生的。

但我期待它从(左,顶部)开始。我在这里错过了什么?在android:fromXDeltaandroid:toXDeltaandroid:fromYDeltaandroid:toYDelta属性 -

+0

@Android:它有什么区别? – Pavan 2012-03-02 10:59:51

回答

2

凡从动画开始和结束在你的“slide_in_top”和“slide_out_top”文件中定义。

请注意,表格0%的值与视图本身有关,表格0%p的值相对于视图的父项。