还记得小时候的手工课吗?那么开始吧, 材料如下:图片一张 要求:使其移动的同时缩小

来源:互联网 发布:淘宝书城书店 编辑:程序博客网 时间:2024/05/11 07:26

 解:

大家都知道android 在api文档 给我们提供了很多方便的类  动画也是如此

用过j2me 的一定知道 动画是要自己实现的。

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.school.text" android:versionCode="1" android:versionName="1.0"><uses-sdk android:minSdkVersion="8" /><application android:icon="@drawable/icon" android:label="@string/app_name"><activity android:name=".TestActivity"android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

 

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent"><ImageView android:layout_height="wrap_content" android:id="@+id/image"android:layout_width="wrap_content" android:src="@drawable/mm"></ImageView></LinearLayout>


解1:
那么先来简单的,快速开发

使用xml文件直接控制

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><translate android:fromXDelta="0" android:toXDelta="200"android:fromYDelta="0" android:toYDelta="200" android:duration="2000"></translate><scale android:interpolator="@android:anim/accelerate_decelerate_interpolator"android:fromXScale="1.0" android:toXScale="0.5" android:fromYScale="1.0"android:toYScale="0.5" android:pivotX="50%" android:pivotY="50%"android:fillAfter="false" android:duration="2000" /></set>
package com.school.text;import android.app.Activity;import android.os.Bundle;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.ImageView;public class TestActivity extends Activity {ImageView image;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);image = (ImageView) findViewById(R.id.image);Animation trans = AnimationUtils.loadAnimation(this, R.anim.tran);image.clearAnimation();image.startAnimation(trans);}}


解法2:

不使用xml    但仍使用api提供的动画类

package com.school.text;import android.app.Activity;import android.os.Bundle;import android.view.animation.AccelerateDecelerateInterpolator;import android.view.animation.AnimationSet;import android.view.animation.ScaleAnimation;import android.view.animation.TranslateAnimation;import android.widget.ImageView;public class TestActivity extends Activity {ImageView image;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);image = (ImageView) findViewById(R.id.image);AnimationSet set = new AnimationSet(false);TranslateAnimation trans = new TranslateAnimation(0, 200, 0, 200);ScaleAnimation scale = new ScaleAnimation(1f, 0.5f, 1f, 0.5f, 0.5f,0.5f);scale.setFillAfter(false);scale.setInterpolator(new AccelerateDecelerateInterpolator());set.addAnimation(trans);set.addAnimation(scale);set.setDuration(2000);image.startAnimation(set);}}


解法3:

抛开API 提供的动画类  自己实现看看

直接上下载地址 不贴代码了


 http://download.csdn.net/detail/gj_android_school/4034599

 至于图片缩放直接使用的layout()

里面的缩放获得bitmap 的入口我屏蔽了(因为和layout方法有冲突) 

 

原创粉丝点击