5

私は、オブジェクトをConstraintLayoutで点Aから点Bにアニメーション化する最も簡単な方法を探していました。その持続時間と加速度の速度を変更できます。例えば、画面上に制約が設定された状態で、画面の下端から意図した位置にレイアウト/ビューを移動します。私はConstraintLayoutとオブジェクトのためにそれを行う方法を見つけることができませんでした。誰でも私を正しい方向に向けることができますか?ありがとう。ConstraintLayoutを画面の下から上にアニメーション化する方法は?

答えて

6

このxmlなどのコンテンツビュー持つ:

class SecondActivity : AppCompatActivity() { 

    override fun onCreate(savedInstanceState: Bundle?) { 
     super.onCreate(savedInstanceState) 
     setContentView(R.layout.item) 

     val constraintLayout = findViewById(R.id.constraint_layout) as ConstraintLayout 
     val button = findViewById(R.id.button) 

     button.setOnClickListener { 
      val constraintSet = ConstraintSet() 
      constraintSet.clone(constraintLayout) 
      constraintSet.setVerticalBias(R.id.button, 1.0f) 
      constraintSet.setHorizontalBias(R.id.button, 1.0f) 

      val transition = AutoTransition() 
      transition.duration = 1500 
      transition.interpolator = AccelerateDecelerateInterpolator() 

      TransitionManager.beginDelayedTransition(constraintLayout, transition) 
      constraintSet.applyTo(constraintLayout) 
     } 
    } 
} 

は、この出力になります:活動の

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/constraint_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <Button 
     android:id="@+id/button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="8dp" 
     android:layout_marginEnd="8dp" 
     android:layout_marginStart="8dp" 
     android:layout_marginTop="8dp" 
     android:text="Button" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintEnd_toEndOf="parent" 
     app:layout_constraintHorizontal_bias="0.0" 
     app:layout_constraintStart_toStartOf="parent" 
     app:layout_constraintTop_toTopOf="parent" 
     app:layout_constraintVertical_bias="0.0" /> 

</android.support.constraint.ConstraintLayout> 

そして、これを

enter image description here

は参照this articlethis presentation多くのための 詳細。

関連する問題