android 动画 博客分类: Android 基础 android透明度缩放旋转平移
程序员文章站
2024-02-16 08:04:10
...
android的动画有两种 tween动画和Frame动画
tween动画;,透明度,缩放,旋转,平移效果
Animation 动画
AlphaAnimation 渐变透明度
RotateAnimation 画面旋转
ScaleAnimation 渐变尺寸缩放
TranslateAnimation 位置移动
AnimationSet 动画集
使用方式
在res文件下创建anim文件;
1,透明度效果
aniation_xml
<?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:fromAlpha="0" android:toAlpha="1" android:duration="1000" > </alpha>
操作透明度xml的类
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView images = (ImageView) this.findViewById(R.id.images); // 透明度 //加载动画的文件 Animation animation = AnimationUtils.loadAnimation(this, R.anim.aniation_xml); //设置执行后不变 animation.setFillAfter(true); //启动动画 images.startAnimation(animation); }}
2,平移动画
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromXDelta="10%" android:fromYDelta="10%" android:toXDelta="50%p" android:toYDelta="50%p" android:duration="5000" > </translate>
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView images = (ImageView) this.findViewById(R.id.images); //加载动画的文件 //平移 Animation animation =AnimationUtils.loadAnimation(this, R.anim.translate_xml); //设置执行后不变 animation.setFillAfter(true); //启动动画 images.startAnimation(animation);
3,缩放动画 操作与上面类似
<?xml version="1.0" encoding="utf-8"?> <scale xmlns:android="http://schemas.android.com/apk/res/android" android:duration="5000" android:fromXScale="1.0" android:fromYScale="1.0" android:pivotX="50%" android:pivotY="50%" android:toXScale="1.4" android:toYScale="0.6" > </scale>
4,旋转动画
<?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="0" android:toDegrees="360" android:pivotX="50%" android:pivotY="50%" android:duration="5000" > </rotate>
5,Frame动画 相当于GIF图片
在放图片的文件下创建文件存放资源 frame
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/ic_launcher" android:duration="1000" /> <item android:drawable="@drawable/mainback" android:duration="2000" /> </animation-list>
duration 设置时间
animation-list 里面存放图片
操作Frame动画
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView images = (ImageView) this.findViewById(R.id.images); //获得资源文件 images.setBackgroundResource(R.drawable.frame); //设置背景图片 AnimationDrawable animation=(AnimationDrawable)images.getBackground(); animation.start();//启动