第一个动画文件btn_anim.xml
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator">
android:fromXDelta="0.0"
android:fromYDelta="0.0"
android:toXDelta="0.0"
android:toYDelta="-75.0"
android:duration="750"
android:fillBefore="true"
android:fillAfter="true" />
2-在res文件夹 anim文件夹下面,建立第二个文件layout_anim.xml):
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator">
android:fromXScale="1.0"
android:fromYScale="1.0"
android:toXScale="0.95"
android:toYScale="0.95"
android:pivotX="50%"
android:pivotY="50%"
android:duration="100"
android:fillBefore="true"
android:fillAfter="true"/>
3主activity 我是在fragment中使用,你就随意吧。
...
private ScrollView scrollView; // This is my container. Yours may be different
private Animation btnAnim;
private Animation layoutAnim;
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Getting context
context = getActivity().getApplicationContext();
btnAnim = AnimationUtils.loadAnimation(context, R.anim.btn_anim);
btnAnim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
layoutAnim = AnimationUtils.loadAnimation(context, R.anim.layout_anim);
scrollView.startAnimation(layoutAnim);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
// create view
View view = inflater.inflate(R.layout.fragment_browse_single, container, false);
scrollView = (ScrollView) view.findViewById(R.id.scrollView);
myButton = (Button) view.findViewById(R.id.myButton);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
btnZan.startAnimation(btnAnim);
}
});
Log.i(TAG, "View created");
return view;
}
另一种demo做法。试用了线程。不推荐使用
animation.xml
原文:http://blog.csdn.net/kan1kan5/article/details/39755475