带缩放动画效果的图片切换的功能实现
来源:互联网 发布:知乎平均收入 编辑:程序博客网 时间:2024/05/16 15:16
public class MainActivity extends Activity {
private ImageView imgA, imgB;
private ScaleAnimation sa1;
private ScaleAnimation sa2;
//显示A图隐藏B图
private void showA() {
imgA.setVisibility(View.VISIBLE);
imgB.setVisibility(View.INVISIBLE);
}
//显示B图隐藏A图
private void showB() {
imgB.setVisibility(View.VISIBLE);
imgA.setVisibility(View.INVISIBLE);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imgA = (ImageView) findViewById(R.id.im1);
imgB = (ImageView) findViewById(R.id.im2);
showA(); //初始状态显示A图隐藏B图,初始化缩放动画SA1向中心点横向缩小以及SA2向中心点纵向放大
sa1 = new ScaleAnimation(1, 0, 1, 1, Animation.RELATIVE_TO_PARENT, 0.5f, Animation.RELATIVE_TO_PARENT, 0.5f);
sa2 = new ScaleAnimation(1, 1, 0, 1, Animation.RELATIVE_TO_PARENT, 0.5f, Animation.RELATIVE_TO_PARENT, 0.5f);
sa1.setDuration(1000);
sa2.setDuration(1000);
findViewById(R.id.im1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imgA.startAnimation(sa1);
sa1.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
imgB.startAnimation(sa2);
showB();//动画SA1结束时,启动动画SA2由中心纵向放大,然后显示B图,隐藏A图
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
});
findViewById(R.id.im2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imgB.startAnimation(sa1);
sa1.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
imgA.startAnimation(sa2);
showA();//动画SA1结束时,启动动画SA2由中心纵向放大,然后显示A图,隐藏B图
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
});
}
}
private ImageView imgA, imgB;
private ScaleAnimation sa1;
private ScaleAnimation sa2;
//显示A图隐藏B图
private void showA() {
imgA.setVisibility(View.VISIBLE);
imgB.setVisibility(View.INVISIBLE);
}
//显示B图隐藏A图
private void showB() {
imgB.setVisibility(View.VISIBLE);
imgA.setVisibility(View.INVISIBLE);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imgA = (ImageView) findViewById(R.id.im1);
imgB = (ImageView) findViewById(R.id.im2);
showA(); //初始状态显示A图隐藏B图,初始化缩放动画SA1向中心点横向缩小以及SA2向中心点纵向放大
sa1 = new ScaleAnimation(1, 0, 1, 1, Animation.RELATIVE_TO_PARENT, 0.5f, Animation.RELATIVE_TO_PARENT, 0.5f);
sa2 = new ScaleAnimation(1, 1, 0, 1, Animation.RELATIVE_TO_PARENT, 0.5f, Animation.RELATIVE_TO_PARENT, 0.5f);
sa1.setDuration(1000);
sa2.setDuration(1000);
findViewById(R.id.im1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imgA.startAnimation(sa1);
sa1.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
imgB.startAnimation(sa2);
showB();//动画SA1结束时,启动动画SA2由中心纵向放大,然后显示B图,隐藏A图
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
});
findViewById(R.id.im2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imgB.startAnimation(sa1);
sa1.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
imgA.startAnimation(sa2);
showA();//动画SA1结束时,启动动画SA2由中心纵向放大,然后显示A图,隐藏B图
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
});
}
}
0 0
- 带缩放动画效果的图片切换的功能实现
- 图片的缩放功能实现
- 带箭头的图片上下切换效果
- 带倒影的图片切换效果
- 带缩略图的图片切换效果
- ViewPager切换的时候,添加图片的缩放效果
- jQuery实现图片展开缩放的效果
- Android实现图片的缩放翻转功能
- Android实现图片的缩放翻转功能
- 实现相册的缩放图片功能
- 实现图片的拖拽缩放功能
- android图片切换ImageSwichter的动画切换效果
- android图片切换ImageSwichter的动画切换效果
- 带标签的viewpager自动切换+滑动切换+点击标签切换 带动画效果
- activity切换无动画效果的实现
- activity切换无动画效果的实现
- UIView缩放的动画效果
- 【Android进阶】自定义带动画切换效果的ViewPager
- LeetCode:Reverse Nodes in k-Group
- android布局
- 如何理解IPD+CMMI+Scrum一体化研发管理解决方案之CMMI篇
- 使用多个段来存储数据(汇编语言)
- 第五周-项目2-1求正差值
- 带缩放动画效果的图片切换的功能实现
- 第五周:C:计算工资。
- DB2 OLAP
- 菜单
- Shader山下(四)法线贴图
- 如何理解IPD+CMMI+Scrum一体化研发管理解决方案之IPD篇
- Linux问题Epoll参考资源
- 努力做自己 做自己所想 做自己想做
- 斐波那契数列