标签:动画 android ui android
第一个动画文件btn_anim.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator"> <!--位移动画 --> <translate 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" /><scale android:fromXScale="1.0" android:fromYScale="1.0" android:toXScale="1.05" android:toYScale="1.0" android:pivotX="50%" android:pivotY="50%" android:duration="350" android:fillBefore="true" android:fillAfter="true"/></set><!--缩放动画 -->
2-在res文件夹 anim文件夹下面,建立第二个文件layout_anim.xml):
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator">
<scale
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"/>
</set>
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做法。试用了线程。不推荐使用
publicclassapplaudAnimationextendsActivityimplementsOnClickListener {privateButton button;privateTextView textView;privateandroid.view.animation.Animation animation;publicvoidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.animation);animation = AnimationUtils.loadAnimation(this,R.anim.applaud_animation);button = (Button) findViewById(R.id.bt);button.setOnClickListener(this);textView = (TextView) findViewById(R.id.animation);}@OverridepublicvoidonClick(View v) {if(v == button) {textView.setVisibility(View.VISIBLE);textView.startAnimation(animation);newHandler().postDelayed(newRunnable() {publicvoidrun() {textView.setVisibility(View.GONE);}},1000);}}}animation.xml
<?xml version="1.0"encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="#ffffff"><Buttonandroid:id="@+id/bt"android:layout_width="40dip"android:layout_height="wrap_content"android:layout_centerInParent="true"android:gravity="center"android:text="赞"android:textColor="#000000"android:textSize="18dip"/><TextViewandroid:id="@+id/animation"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:gravity="center"android:text="+1"android:textColor="#FF0000"android:textSize="18dip"android:visibility="gone"/></RelativeLayout>
applaud_animation.xml
<?xml version="1.0"encoding="utf-8"?><translateandroid:fromXDelta="0"android:toXDelta="0"android:fromYDelta="0"android:toYDelta="-50"android:duration="1000"/><alphaandroid:fromAlpha="1.0"android:toAlpha="0.3"android:duration="1000"/></set>
Android点赞动画效果 ,点赞后加一,2种方法,①补间动画②位移动画
标签:动画 android ui android
原文地址:http://blog.csdn.net/kan1kan5/article/details/39755475