Android开发:Animation的巧妙使用
为了给UI做出一些比较炫的效果,往往要使用多种Animation结合使用或者是多个控件同时使用一种Animation。而后者需要按照一定规律来使用,下面是具体实例:
和这个(Android 自定义Button 及Animation的基本使用 )不同的就是重新定义了几个anim文件夹下的xml文件:
其中一个内容如下:
- <?xml version="1.0" encoding="utf-8"?>
- <set xmlns:Android="http://schemas.android.com/apk/res/android" >
- <translate
- android:startOffset="1500"
- android:duration="5000"
- android:fromXDelta="-100%"
- android:fromYDelta="0%"
- android:interpolator="@android:anim/decelerate_interpolator"
- android:toXDelta="0%"
- android:toYDelta="0%" />
- </set>
其余的就是在startOffset上面的更改,意思是当启动这个Animation时延迟多少毫秒,每个定义的Animation都比上一个晚一点,而每个Button依次绑定各个xml文件所以就有了依次出现的效果
这是Activity代码:
- package sina.CreAmazing.muti_button;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.view.animation.AnimationUtils;
- import android.widget.Button;
- public class MutiButtonActivity extends Activity {
- /** Called when the activity is first created. */
- private Button btStart;
- private Button bt1;
- private Button bt2;
- private Button bt3;
- private Button bt4;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- findViews();
- btStart.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- startAnimation();
- }
- });
- }
- private void findViews() {
- // TODO Auto-generated method stub
- btStart = (Button) findViewById(R.id.bt_start);
- bt1 = (Button) findViewById(R.id.bt1);
- bt2 = (Button) findViewById(R.id.bt2);
- bt3 = (Button) findViewById(R.id.bt3);
- bt4 = (Button) findViewById(R.id.bt4);
- }
- private void startAnimation() {
- bt1.startAnimation(AnimationUtils.loadAnimation(this,
- R.anim.bt_translate1));
- bt2.startAnimation(AnimationUtils.loadAnimation(this,
- R.anim.bt_translate2));
- bt3.startAnimation(AnimationUtils.loadAnimation(this,
- R.anim.bt_translate3));
- bt4.startAnimation(AnimationUtils.loadAnimation(this,
- R.anim.bt_translate4));
- }
- }
其实还可通过Animation制作出更多有趣的效果,反着退出去,以一定轨迹旋转进入,闪烁显示,电影里那种报纸头条旋转变大显示。。。。。。只要自己善于观察,就会发现很多有趣的事情
相关推荐
冰蝶 2020-04-20
IT之家 2020-03-11
graseed 2020-10-28
zbkyumlei 2020-10-12
SXIAOYI 2020-09-16
jinhao 2020-09-07
impress 2020-08-26
liuqipao 2020-07-07
淡风wisdon大大 2020-06-06
yoohsummer 2020-06-01
chenjia00 2020-05-29
baike 2020-05-19
扭来不叫牛奶 2020-05-08
hxmilyy 2020-05-11
黎豆子 2020-05-07
xiongweiwei00 2020-04-29
Cypress 2020-04-25