在尝试为我想要的布局找到解决方案时,我遇到了setScaleX / setScaleY方法,它们是View类的成员。
现在看看RelativeLayout的方法和API Level 8的过滤,因为我正在开发一个> = 2.2的App,所以这些方法逐渐淡出。但是当查看“从类android.view.View继承的XML属性”时,属性android:scaleX / android:scaleY仍然可用。不幸的是,尝试使用这些属性并不起作用,Eclipse说:“错误:在'android'包中找不到属性'scaleX'的资源标识符”
所以看起来文档是矛盾的,scaleX / scaleY直到3.0才可用,或者我错过了什么?
当我在播放任何动画之前尝试使用初始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();
好吧,看起来这是文档中的错误表示,因为它解释了here scaleX / scaleY是使用Honeycomb添加到View类的属性,因此很遗憾在Froyo中不可用。
不,文件是对的:
public void setScaleX(float scaleX)从:API Level 11
Froyo是API等级8。
将com.nineoldandroids.view.ViewHelper
用于较旧的API:
ViewHelper.setScaleY(myButton, 0.01f);
NineOldAndroid
根据它的github链接NineOldAndroid被弃用
使用Android Support library
而不是NineOldAndroid
所以你应该使用ViewCompat
instead的ViewHelper
只需更改:
view.setScaleX(2);
要么
ViewHelper.setScaleX(view,2);
至:
ViewCompat.setScaleX(view,2);
希望能帮助到你