Android动画效果
Android动画效果
Android动画效果可以给人一种视觉感受,下面我将列举一些常用的动画效果。
1.在图片显示过程中使用动画效果,可以给人一种感觉。比如渐进渐出的效果。
下面贴上代码。
- mSwitcher = (ImageSwitcher) findViewById(R.id.switcher);
- mSwitcher.setFactory(this);
- mSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,
- android.R.anim.fade_in));
- mSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,
- android.R.anim.fade_out));
android.R.anim.fade_in, android.R.anim.fade_out两种动画效果是系统自带的效果。
2.下面介绍自定义的动画效果。
- // 實現動畫效果
- Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);
- findViewById(R.id.pw).startAnimation(shake);
里面用到的shake.xml文件,存放在anim目录下面。代码如下:
- <translate xmlns:android="http://schemas.android.com/apk/res/android"
- android:fromXDelta="0" android:toXDelta="10" android:duration="1000"
- android:interpolator="@anim/cycle_7" />
而里面的cycle_7.xml,代码如下所示:
- <cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
- android:cycles="7"
- />
下面介绍APIDEMO中的动画效果。
第一种ViewFlipper中各背景图片的切换效果。
- public class Animation2 extends Activity implements
- AdapterView.OnItemSelectedListener {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.animation_2);
- mFlipper = ((ViewFlipper) this.findViewById(R.id.flipper));
- mFlipper.startFlipping();
- Spinner s = (Spinner) findViewById(R.id.spinner);
- ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
- android.R.layout.simple_spinner_item, mStrings);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- s.setAdapter(adapter);
- s.setOnItemSelectedListener(this);
- }
- public void onItemSelected(AdapterView parent, View v, int position, long id) {
- switch (position) {
- case 0:
- mFlipper.setInAnimation(AnimationUtils.loadAnimation(this,
- R.anim.push_up_in));
- mFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,
- R.anim.push_up_out));
- break;
- case 1:
- mFlipper.setInAnimation(AnimationUtils.loadAnimation(this,
- R.anim.push_left_in));
- mFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,
- R.anim.push_left_out));
- break;
- case 2:
- mFlipper.setInAnimation(AnimationUtils.loadAnimation(this,
- android.R.anim.fade_in));
- mFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,
- android.R.anim.fade_out));
- break;
- default:
- mFlipper.setInAnimation(AnimationUtils.loadAnimation(this,
- R.anim.hyperspace_in));
- mFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,
- R.anim.hyperspace_out));
- break;
- }
- }
- public void onNothingSelected(AdapterView parent) {
- }
- private String[] mStrings = {
- "Push up", "Push left", "Cross fade", "Hyperspace"};
- private ViewFlipper mFlipper;
- }
|
评论暂时关闭