【发布时间】:2020-12-01 02:54:45
【问题描述】:
我正在尝试理解为什么我的按钮不会根据需要进行动画处理。我有这个主按钮btn_one 和btn_one_background,这是我想要在单击btn_one 时制作动画的动作。出于某种原因,当我通过btn_one_background 时,动画无法启动我做错了什么。
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView( R.layout.activity_button)
val btn : ImageButton = findViewById(R.id.btn_one)
btn.setOnClickListener {
startAnimation()
}
}
private fun startAnimation(){
val whiteBackAnin =
AnimatorInflater.loadAnimator(
context,
R.animator.button_anim
) as AnimatorSet
whiteBackAnin.setTarget(btn_one_background)
whiteBackAnin.start()
}
我的布局活动按钮
<ImageButton
android:id="@+id/btn_one"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="@drawable/ic_circle_red"
android:contentDescription="@string/button_content_description"
android:elevation="4dp"
android:src="@drawable/ic_options"
android:visibility="invisible"
tools:visibility="visible" />
<ImageView
android:id="@+id/btn_one_background"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_circle_white"
android:importantForAccessibility="no"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/btn_one"
app:layout_constraintEnd_toEndOf="@id/btn_one"
app:layout_constraintStart_toStartOf="@id/btn_one"
app:layout_constraintTop_toTopOf="@id/btn_one"
/>
动画师
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:ordering="sequentially">
<set android:ordering="together">
<objectAnimator
android:duration="1"
android:propertyName="scaleX"
android:valueTo="0.25"
android:valueType="floatType" />
<objectAnimator
android:duration="1"
android:propertyName="scaleY"
android:valueTo="0.25"
android:valueType="floatType" />
</set>
<objectAnimator
android:duration="1"
android:propertyName="alpha"
android:valueTo="1.0"
android:valueType="floatType" />
<objectAnimator
android:duration="1000"
android:propertyName="alpha"
android:valueFrom="1f"
android:valueTo="1f"
android:valueType="floatType" />
</set>
【问题讨论】: