大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
因为今天用到了ScaleAnimation缩放动画就写一下,加深一下印象。
用ScaleAnimation有几个重载方法,这里就将八个参数的重载方法。
ScaleAnimation(float fromX, float toX, float fromY, float toY,int pivotXType, float pivotXValue, int pivotYType, float pivotYValue) ;
float fromX : 动画起始时 X坐标上的伸缩尺寸
float toX :动画结束时 X坐标上的伸缩尺寸
float fromY :动画起始时Y坐标上的伸缩尺寸
float toY :动画结束时Y坐标上的伸缩尺寸
int pivotXType : 动画在X轴相对于物件位置类型
float pivotXValue : 动画相对于物件的X坐标的开始位置
int pivotYType :动画在Y轴相对于物件位置类型
float pivotYValue : 动画相对于物件的Y坐标的开始位置
知道了这几个参数的作用就简单了。
首先先设置一个ScaleAnimation动画实例,再image = (ImageView)findViewById(R.id.xx),找到相应的图片id,再用
image.startAnimation(ScaleAnimation),将动画配置给image这样图片的动画就设置好了。
当然我们肯定要设置图片动画的启动事件的,不然图片怎么变化呢。
对了,我们还可以设置动画的一些属性,这里我就讲一下动画的缩放时间。要设置图片的缩放时间是用到ScaleAnimation的 setDuration()方法,里面放的是整型数,单位为毫秒。
最后贴上代码吧,新手上路,大牛请见谅。
public class MainActivity extends AppCompatActivity {
private ImageView imageA,imageB;
private ScaleAnimation sato0 = new ScaleAnimation(1,0,1,1, Animation.RELATIVE_TO_PARENT,0.5f,Animation.RELATIVE_TO_PARENT,0.5f);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
findViewById(R.id.activity_main).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (imageA.getVisibility()==View.VISIBLE){
imageA.startAnimation(sato0);
}else {
imageB.startAnimation(sato0);
}
}
});
}
private void showImageA(){
imageA.setVisibility(View.VISIBLE);
imageB.setVisibility(View.GONE);
}
private void showImageB(){
imageA.setVisibility(View.GONE);
imageB.setVisibility(View.VISIBLE);
}
private void initView(){
imageA= (ImageView) findViewById(R.id.ivA);
imageB= (ImageView) findViewById(R.id.ivB);
showImageA();
sato0.setDuration(500);
sato0.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
if (imageA.getVisibility()==View.VISIBLE){
showImageB();
}else{
showImageA();
}
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/181514.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...