没有View.setX的API版本怎么办?

时间:2012-02-08 11:42:54

标签: android android-widget

所以,令我非常懊恼的是,我在早期的设备上测试时发现,API版本11之前,View类没有setAlpha和setX方法。有人可以提出替代方案吗?我目前正在通过更新其X位置来移动视图,并根据用户交互淡入淡出。

1 个答案:

答案 0 :(得分:0)

您可以使用标准Animation来实施此类程序逻辑,例如AlphaAnimationTranslateAnimation,以便移动您的View。但是你也应该记住,View在它的父布局中的原始位置没有改变(只有像素被重绘)。这意味着,当用户点击View的新图片时,此View将无法获取事件,因为Rect仍处于旧位置。

你可以在动画结束后重新定位View的矩形,使用View.layout()方法并在那里传递4个定位参数,但在这种情况下你应该考虑你的布局性质,因为例如你与LinearLayout合作并通过调用layout()方法更改其兄弟位置,下次更改其中一个UI元素大小将调用reaqestLayout()方法,您的动画View将返回在它的初始位置