牛骨文教育服务平台(让学习变的简单)
博文笔记

自定义动画效果(左右晃动)

创建时间:2016-06-17 投稿人: 浏览次数:145
public class CustomAnim extends Animation {
@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>


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。