【问题标题】:Open dialog from view position从视图位置打开对话框
【发布时间】:2013-06-24 01:31:39
【问题描述】:

我正在尝试为从视图位置打开的对话框设置动画。例如,我希望我的对话框从按钮位置显示,并在关闭时隐藏到同一位置。

这个线程 Animate a custom Dialog 给了我一个想法,我来到了这个 xml:

<scale
    android:duration="500"
    android:fromXScale="0.0"
    android:fromYScale="0.0"
    android:pivotX="20%p"
    android:pivotY="20%p"
    android:toXScale="1.0"
    android:toYScale="1.0" />

但我不知道如何动态设置起始位置,导致我的按钮改变位置。

有什么想法吗?

很多....

【问题讨论】:

标签: android android-alertdialog


【解决方案1】:

您可以使用 View 类中的 getLocationOnScreen() 方法从按钮或您想用作锚点的任何其他视图中获取当前位置。

编辑 - 或者,您可能会发现使用 PopupWindow 使用可以通过 getLocationOnScreen 在方法 showAtLocation() 中获得的坐标来代替 Dialog 很有用。

【讨论】:

  • 这不是问题所在。对话框应始终位于中心。我想要的是为此对话框设置一个开放比例动画,并将开始位置设置为此比例。例如:对话框将出现在位置 x=20,y=200 并变得越来越大,直到它在中心屏幕上的大小。明白了吗?
  • 好的,我知道了,所以忘记 showAtLocation 并使用 getLocationOnScreen 来获取 Button 位置,但您需要动态计算动画以使其正确。我不知道有什么现成的动画可以解决这个问题,抱歉。
  • 这是我的问题。动态动画:D。我知道这是可能的,因为 facebook 这样做。但是还是没有找到路。 =/
猜你喜欢
  • 2022-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多