5

Bir nesneyi ConstraintLayout ile A noktasından B noktasına, yani süresini ve hızlanma hızını değiştirme yeteneğiyle hareketlendirmenin en basit yolunu arıyorum. Örneğin, ekranın altından bir düzen/görünümün, ekranda ayarlanmış kısıtlamalarla hedeflenen konuma getirilmesi. ConstraintLayout ile nesneler için nasıl yapılacağını bulamadım. Herkes bana doğru yönde işaret edebilir mi? Teşekkürler.Kısıtlama nasıl canlandırılır? Ekranın altından ekranın en üstüne mı?

cevap

6

bu xml gibi içerik görüntülemek olması:

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) 
     } 
    } 
} 

bu çıkışı neden olacak: aktivitesinde

<?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> 

Ve bu

enter image description here

Bkz this article ve this presentation daha fazlası için detaylar.