我想在我的应用中包含一个简单动画,其中
视图
小部件移动到另一个
视图
小部件。Android - TranslateAnimate一个视图到另一个视图
我写的代码是:
TranslateAnimation animate = new TranslateAnimation(view1.getTranslationX(), view1.getTranslationY(), view2.getTranslationX(), view2.getTranlationY());
animate.setDuration(500);
view1.startAnimation(animate);
的问题是,view1
从ViewSwitcher
继承而view2
自定义视图是Button
。 getTranslation()不给这种方法例外。
我怎样才能得到视图的屏幕上的位置,这是做动画的正确方法吗?
注:的ViewSwitcher
是ListView
项目的一部分,所以它也需要越过其边界ListView
才能到Button
(以防万一有差别)。
感谢您的回答。根据我所知道的,它可以工作,但是因为'view1'在'ListView'中,它就会消失。我认为它移动到了所需的位置,但是因为它在ListView中的其他视图背后,我看不到它。我尝试了bringToFront(),但这并没有帮助。有任何想法吗 ? – 2012-01-16 00:39:04
对不起,有没有在你已经发布,使你所看到的问题的任何决定的代码/上下文的足够信息。 – Devunwired 2012-01-16 05:06:25
嗯..我会尽力解释。 'view1'是一个'ListView'的图标。类似于您在联系人列表视图中显示的图片。 'view2'在同一个屏幕/ LinearLayout中的不同位置。类似于联系人应用中的标题。当我为图片设置动画时,它会移动,但不会超出“ListView”的边界。我在'ListView'上试过'.setClipChildren(false)',但它完全扭曲了整个视图。 – 2012-01-16 05:50:24