怎么了setScaleX / setScaleY?

时间:2011-04-20 08:46:38

标签: android android-view android-relativelayout

在尝试找到我想要的布局解决方案时,我遇到了setScaleX / setScaleY方法,它们是View类的成员。

View class doc

现在看看RelativeLayout的方法和API Level 8的过滤,因为我正在为> = 2.2开发一个App,所以这些方法逐渐淡出。但是当查看“从类android.view.View 继承的XML属性”时,属性android:scaleX / android:scaleY仍然可用。不幸的是,尝试使用这些属性并不起作用,Eclipse说:“错误:在'android'包中找不到属性'scaleX'的资源标识符”

RelativeLayout class doc

所以看起来文档是矛盾的,scaleX / scaleY直到3.0才可用,或者我错过了什么?

4 个答案:

答案 0 :(得分:5)

当我在播放任何动画之前尝试使用初始scaleX值设置视图时遇到了类似的问题,但是view.setScaleX()自从API Level 11加入@ Dr.J以来。

如果您想在早期API级别中使用Honeycomb Animation API,请在http://nineoldandroids.com/尝试使用NineOldAndroids。基于此开源库,有一种解决方法可以为视图提供初始scaleX。

    ObjectAnimator.ofFloat(getMyButton(), "scaleX", 1f, 0f).setDuration(1).start();

答案 1 :(得分:3)

好吧,看起来这是文档中的错误表示,因为它解释为here scaleX / scaleY是使用Honeycomb添加到View类的属性,因此很遗憾在Froyo中不可用。

答案 2 :(得分:3)

nope,文档是对的:

  

public void setScaleX(float scaleX)从:API Level 11

Froyo是API等级8。

答案 3 :(得分:2)

com.nineoldandroids.view.ViewHelper用于较旧的API:

ViewHelper.setScaleY(myButton, 0.01f);