@Override
public void initialize(int width, int height, int parentWidth,
int parentHeight) {
// System.out.println("init");
super.initialize(width, height, parentWidth, parentHeight);
}
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
// System.out.println(interpolatedTime);//从0到1不断变化
// t.setAlpha(interpolatedTime);
// t.getMatrix().setTranslate(200*interpolatedTime, 200*interpolatedTime);
t.getMatrix().setTranslate((float) (Math.sin(interpolatedTime*20)*50), 0);
super.applyTransformation(interpolatedTime, t);
}
}
public class MainActivity extends Activity {
private CustomAnim ca;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ca = new CustomAnim();
ca.setDuration(1000);
findViewById(R.id.btnAnimMe).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
arg0.startAnimation(ca);
}
});
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.customanim.customanim.MainActivity"
tools:ignore="MergeRootFrame" >
<Button
android:id="@+id/btnAnimMe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/animate_me" />
</RelativeLayout>