public class MainActivity extends Activity implements OnClickListener
private Button btnAlpha=null;
private ImageView imageView=null;
private Button btnXmlAlpha=null;
private Button btnScale=null;
private Button btnXmlScale=null;
private Button btnTranslate=null;
private Button btnRotate=null;
private Button btnSet=null;
private Button btnXmlSet=null;
private static int GET_IMAGE_ID=100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView=(ImageView) findViewById(R.id.image_view);
btnAlpha=(Button) findViewById(R.id.button_alpha);
btnAlpha.setOnClickListener(this);
btnXmlAlpha=(Button) findViewById(R.id.button_xml_alpha);
btnXmlAlpha.setOnClickListener(this);
btnScale=(Button) findViewById(R.id.btn_scale);
btnScale.setOnClickListener(this);
btnXmlScale=(Button) findViewById(R.id.button_xml_scale);
btnXmlScale.setOnClickListener(this);
btnTranslate=(Button) findViewById(R.id.btn_translate);
btnTranslate.setOnClickListener(this);
btnRotate=(Button) findViewById(R.id.btn_rotate);
btnRotate.setOnClickListener(this);
imageView.setOnClickListener(this);
btnSet=(Button) findViewById(R.id.button_set);
btnSet.setOnClickListener(this);
btnXmlSet=(Button) findViewById(R.id.button_xml_set);
btnXmlSet.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if(v==btnAlpha){
//定义Alpha动画
Animation animationAlpha = new AlphaAnimation(0.1f, 1.0f);
// 设置动画时间
animationAlpha.setDuration(5000);
// 开始播放动画
imageView.startAnimation(animationAlpha);
}else if(v==btnXmlAlpha){
//从xml文件载入动画alpha效果
Animation animation=AnimationUtils.loadAnimation(this, R.anim.alpha);
imageView.startAnimation(animation);
}else if(v==btnScale){
//定义SaleAnimation
Animation animation=new ScaleAnimation(0, 1, 1,1);
//设置时间
animation.setDuration(3000);
imageView.startAnimation(animation);
}else if(v==btnXmlScale){
//从xml文件中载入scale动画效果
Animation animation=AnimationUtils.loadAnimation(this, R.anim.scale);
imageView.startAnimation(animation);
}if(v==btnTranslate){
//定义TranslateAnimation
Animation animation=new TranslateAnimation(0,0,300,0);
animation.setDuration(3000);
imageView.startAnimation(animation);
}else if(v==btnRotate){
Animation animation=new RotateAnimation(0, 3600,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF, 0.5f);
animation.setDuration(5000);
//指定变化速度为线性变化 即匀速
animation.setInterpolator(new LinearInterpolator());
imageView.startAnimation(animation);
}else if(v==imageView){
//选择一张本地图片
Intent intent = new Intent(Intent.ACTION_PICK,MediaStore.Images.Media.INTERNAL_CONTENT_URI);
startActivityForResult(intent, GET_IMAGE_ID);
}else if(v==btnSet){
AnimationSet animationSet=new AnimationSet(true);
//新建一个alpha动画
Animation alphaAnimation =new AlphaAnimation(0, 1);
alphaAnimation.setDuration(3000);
//新建一个rotate动画
Animation rotateAnimation=new RotateAnimation(0, 3600, Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF, 0.5f);
rotateAnimation.setDuration(3000);
//设置alpha动画延迟时间
alphaAnimation.setStartOffset(1000);
//将两个动画添加到AnimationSet中
animationSet.addAnimation(alphaAnimation);
animationSet.addAnimation(rotateAnimation);
//开始动画
imageView.startAnimation(animationSet);
}else if(v==btnXmlSet){
//从xml文件中载入一个动画集
Animation animation=AnimationUtils.loadAnimation(this, R.anim.set);
//设置动画速度为匀速
animation.setInterpolator(new LinearInterpolator());
imageView.startAnimation(animation);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 0, 0, "试试");
menu.add(0,1,1,"就试试");
return super.onCreateOptionsMenu(menu);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==GET_IMAGE_ID){
if(resultCode==RESULT_OK){//从本地加载一张图片
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(data.getData(), projection, null, null, null);
startManagingCursor(cursor);
int column_index = cursor.getColumnIndex(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String imagePath= cursor.getString(column_index);
//Toast.makeText(getApplicationContext(), imagePath, 1).show();
FileInputStream is=null;
try {
is = new FileInputStream(imagePath);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Bitmap bitMap=BitmapFactory.decodeStream(is);
imageView.setImageBitmap(bitMap);
}
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 0:
Intent intent=new Intent(this,FrameActivity.class);
startActivity(intent);
break;
default:
break;
}
return true;
}
}
package com.yjy.day12_11;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
public class FrameActivity extends Activity implements OnClickListener {
private Button btnStart=null;
private Button btnStart1=null;
private Button btnStop=null;
private ImageView imageView=null;
private AnimationDrawable animationDrawable=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_frame);
btnStart=(Button) findViewById(R.id.button_start);
btnStart1=(Button) findViewById(R.id.button_start1);
btnStop=(Button) findViewById(R.id.button_stop);
imageView=(ImageView) findViewById(R.id.imageView);
btnStart1.setOnClickListener(this);
btnStart.setOnClickListener(this);
btnStop.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if(v==btnStart){
animationDrawable= new AnimationDrawable();
for(int i=0;i<8;i++){
int resId = getResources().getIdentifier("p"+(i+1), "drawable", "com.yjy.day12_11");
animationDrawable.addFrame(getResources().getDrawable(resId), 200);
}
imageView.setBackgroundDrawable(animationDrawable);
animationDrawable.setOneShot(false);
animationDrawable.start();
}else if(v==btnStart1){
animationDrawable=(AnimationDrawable) getResources().getDrawable(R.drawable.animation_list);
imageView.setBackgroundDrawable(animationDrawable);
animationDrawable.start();
}else if(v==btnStop){
animationDrawable.stop();
}
}
}