创建Drawable动画(二)

作者:追风剑情 发布于:2016-5-7 11:49 分类:Android

一、创建动画文件并放到res/drawable目录下

22222.jpg

animation_circle.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <animation-list xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:visible="true" android:oneshot="true">
  4. <item android:drawable="@drawable/white_circle" android:duration="250" />
  5. <item android:drawable="@drawable/gray_circle" android:duration="250" />
  6. <item android:drawable="@drawable/black_circle" android:duration="250" />
  7. </animation-list>

white_circle.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:shape="oval">
  4. <solid android:color="#FFFFFF"/>
  5. <size android:height="100dp" android:width="100dp"/>
  6. </shape>

gray_circle.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:shape="oval">"
  4. <solid android:color="#555555"/>
  5. <size android:height="100dp" android:width="100dp"/>
  6. </shape>

black_circle.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:shape="oval">"
  4. <solid android:color="#000000"/>
  5. <size android:height="100dp" android:width="100dp"/>
  6. </shape>

二、创建布局xml

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:paddingBottom="@dimen/activity_vertical_margin"
  6. android:paddingLeft="@dimen/activity_horizontal_margin"
  7. android:paddingRight="@dimen/activity_horizontal_margin"
  8. android:paddingTop="@dimen/activity_vertical_margin"
  9. tools:context="com.example.androidtest.DrawableAnimationActivity" >
  10.  
  11. <ImageView
  12. android:id="@+id/image_view"
  13. android:layout_width="match_parent"
  14. android:layout_height="match_parent"
  15. android:scaleType="center"
  16. android:src="@drawable/animation_circle" />
  17.  
  18. </RelativeLayout>

三、创建活动

  1. package com.example.androidtest;
  2.  
  3. import android.support.v7.app.ActionBarActivity;
  4. import android.graphics.drawable.AnimationDrawable;
  5. import android.os.Bundle;
  6. import android.view.MotionEvent;
  7. import android.view.View;
  8. import android.view.View.OnTouchListener;
  9. import android.widget.ImageView;
  10.  
  11. public class DrawableAnimationActivity extends ActionBarActivity {
  12.  
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.activity_drawable_animation);
  17. ImageView iv = (ImageView)findViewById(R.id.image_view);
  18. iv.setOnTouchListener(new OnTouchListener(){
  19. @Override
  20. public boolean onTouch(View v, MotionEvent event) {
  21. ImageView iv = (ImageView)v;
  22. AnimationDrawable ad = (AnimationDrawable)iv.getDrawable();
  23. ad.stop();
  24. ad.start();
  25. return true;
  26. }
  27. });
  28. }
  29. }

运行效果

11111.jpg

标签: Android

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号