Android 的缩放动画

最近突发奇想想要实现一下最近比较热门的类似于“电子木鱼”的功能,但是敲木鱼时木鱼要有敲击的动画吧,尝试使用缩放动画实现。

效果

在res下新建anim文件夹

在anim文件夹下新建一个muyutranslate.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale

        android:repeatMode="reverse"
        android:repeatCount="1"
        android:duration="300"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:toXScale="0.9"
        android:toYScale="0.9"
        android:pivotX="50%"
        android:pivotY="50%"/>

</set>

注:

android:repeatMode="reverse"//重复类型有两个值,reverse表示倒序回放,restart表示从头播放
        android:repeatCount="1"//重复次数
        android:duration="300"//持续时间,单位为毫秒,持续1秒则为1000
        android:fromXScale="1.0"//初始X轴缩放比例,1.0表示无变化
        android:fromYScale="1.0"
        android:toXScale="0.9"//结束X轴缩放比例
        android:toYScale="0.9"
        android:pivotX="50%"//缩放起点X轴坐标
              (数值、百分数、百分数p,
               譬如50表示以当前View左上角坐标加50px为初始点、
                50%表示以当前View的左上角加上当前View宽高的50%做为初始点、
                50%p表示以当前View的左上角加上父控件宽高的50%做为初始点)
        android:pivotY="50%"/>

Image控Button的信息,ImageButton的src设置为木鱼,敲一次木鱼相当于点击了一下ImageButton

<ImageButton
        android:id="@+id/ib_woodenfish"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="56dp"
        android:background="@null"
        android:src="@drawable/ic_woodenfish"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.509"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tv_generalmerits" />

java中的相关代码

public class MainActivity extends Activity {
    private ImageButton ib_woodenfish;
    private Animation animation = null;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ib_woodenfish=findViewById(R.id.ib_woodenfish);
        animation = AnimationUtils.loadAnimation(this,
                R.anim.muyutranslate);

        ib_woodenfish.setOnClickListener(new View.OnClickListener() {
            @SuppressLint("ResourceType")
            @Override
            public void onClick(View v) {
                ib_woodenfish.startAnimation(animation);//点击后触发动画!
          //。。。其他乱七八糟的已省略
            }
        });
    }
}

点击后就会看到木鱼缩放效果。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值