没有写别的效果只是简单的两个控件而已
<Button
android:id="@+id/main_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/white"
android:text="按钮"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"></Button>
<TextView
android:id="@+id/main_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="30dp"
android:text="抖动的文字"
app:layout_constraintBottom_toTopOf="@+id/main_btn"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"></TextView>
其实不用写的 记住空间名称而已
在anim文件夹下创建一个translate_checkbox_shake.xml动画文件,抖动动画
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromXDelta="0"
android:interpolator="@anim/cyc"
android:toXDelta="30">
</translate>
再在anim下创建一个插值器,名字叫cyc,这样会有抖动效果
<?xml version="1.0" encoding="utf-8"?>
<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
android:cycles="2">
</cycleInterpolator>
注意:android:duration="300"与android:cycles="2"联合表示在300毫秒内将动画执行2次,根据需求来设置就行了。
代码引用:
//创建
val animation = AnimationUtils.loadAnimation(this,R.anim.translate_checkbox_shake)
mViewbinding.mainBtn.setOnClickListener {
//使用
mViewbinding.mainTv.startAnimation(animation)
}
实现效果 没有 应为没有GIF 工具
但是肯定可以实现的 本人亲自实现 如果不能
亲自。。。。。