第一个动画文件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做法。试用了线程。不推荐使用
public class applaudAnimation extends Activity implements OnClickListener
{
private Button
button;
private TextView
textView;
private android.view.animation.Animation
animation;
public void onCreate(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);
}
@Override
public void onClick(View
v) {
if (v
== button) {
textView.setVisibility(View.VISIBLE);
textView.startAnimation(animation);
new Handler().postDelayed( new Runnable()
{
public void run()
{
textView.setVisibility(View.GONE);
}
}, 1000 );
}
}
}
|
<?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" >
<Button
android: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" />
<TextView
android: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" ?>
<set
xmlns:android= "http://schemas.android.com/apk/res/android" >
<translate
android:fromXDelta= "0"
android:toXDelta= "0"
android:fromYDelta= "0"
android:toYDelta= "-50"
android:duration= "1000" />
<alpha
android:fromAlpha= "1.0"
android:toAlpha= "0.3"
android:duration= "1000" />
</set>
|
时间: 2024-08-09 23:42:41