Chr*_*sco 1 android tween universal imageview
我创建了以下访问器,以便将一个简单的补间添加到imageview的位置.我正在使用RelativeLayout.
public class ImageViewAccessor implements TweenAccessor<ImageView> {
public static final int X = 1;
public static final int Y = 2;
public static final int XY = 3;
@SuppressLint("NewApi")
public int getValues(ImageView target, int tweenType, float[] returnValues) {
switch (tweenType) {
case X: returnValues[0] = target.getX(); return 1;
case Y: returnValues[0] = target.getY(); return 1;
case XY:
returnValues[0] = target.getX();
returnValues[1] = target.getY();
return 2;
default: assert false; return 0;
}
}
@SuppressLint("NewApi")
public void setValues(ImageView target, int tweenType, float[] newValues) {
switch (tweenType) {
case X: target.setX(newValues[0]); break;
case Y: target.setY(newValues[1]); break;
case XY:
target.setX(newValues[0]);
target.setY(newValues[1]);
break;
default: assert false; break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用以下代码注册访问者:
Tween.registerAccessor(ImageViewAccessor.class, new ImageViewAccessor());
Tween.to(logo, ImageViewAccessor.Y, 1f).target(50).start();
Run Code Online (Sandbox Code Playgroud)
但我得到了一个崩溃"没有为目标找到TweenAccessor" Tween.to(logo, ImageViewAccessor.Y, 1f).target(50).start();所以我有2个问题.
编辑:另外, ImageView.getX()并且ImageView.getY()存在于API级11但我不知道是否应该使用,还是应该使用layaoutparamenters.topMargin
小智 6
我知道这个问题已经很老了,但无论如何我会回答以后搜索的人.
错误在于
Tween.registerAccessor(ImageViewAccessor.class, new ImageViewAccessor());
Run Code Online (Sandbox Code Playgroud)
第一个参数是您要访问的类,第二个参数是应该用于访问该类的Accessor.
你写的Sou想要访问ImageViewAccessor,但实际上你想使用ImageViewAccessor访问ImageView类.
它应该是这样的:
Tween.registerAccessor(ImageView.class, new ImageViewAccessor());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1303 次 |
| 最近记录: |