0

Ich bin neu zu Constraint-Layout und habe eine harte Zeit herausfinden, wie Sie es programmgesteuert erstellen.Wie erstelle ich ein Constraint-Layout programmgesteuert

Hier ist mein xml-Code für sie:

<RelativeLayout 
     android:id="@+id/ShareContainer" 
     android:layout_width="0dp" 
     android:layout_height="0dp" 
     android:layout_marginTop="0dp" 
     android:layout_marginBottom="0dp" 
     app:layout_constraintDimensionRatio="16:9" 
     app:layout_constraintLeft_toLeftOf="parent" 
     app:layout_constraintRight_toRightOf="parent" 
     app:layout_constraintTop_toBottomOf="@+id/StatusContainer" 
     app:layout_constraintBottom_toTopOf="@+id/ButtonContainer"> 

     <com.myapp.ui.testLayout 
      android:id="@+id/ShareVideo" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="@color/black"/> 

     <ImageButton 
      android:id="@+id/ShareToggle" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentRight="true" 
      android:layout_marginBottom="36dp" 
      android:layout_marginLeft="16dp" 
      android:background="@android:color/transparent" 
      android:src="@drawable/ic_video_cam_switch" /> 
    </RelativeLayout> 

z.B. Was sind die Code-Entsprechungen von

+1

Sie konvertieren Sie es nicht zu Java-Code .... was Sie zu tun versuchen. – DroiDev

+0

Ich versuche, Constraint-Layout programmgesteuert hinzufügen –

Antwort

1

Sie können Constraint-Layout programmgesteuert erstellen ähnlich wie Sie jedes andere Layout erstellen. Sie können Constraints auch programmgesteuert mithilfe von ConstraintSet festlegen.

In Ihrem Fall:

ConstraintSet set = new ConstraintSet (context); 
int id = R.id.ShareContainer, root_id=R.id.root_container; // I don't know root container id, so suppose it is root_container 

// ratio 
set.setDimensionRatio(id, "16:9"); 

//SIDE to SIDE of VIEW 
set.connect(id, BOTTOM, root_id, BOTTOM, 8); //object, side, anchor, anchor's side, margin 
set.applyTo(contraintLayout); 
+0

können Sie in Bezug auf meinen Code zu erklären, wird hilfreich sein, als Beispiel zu verstehen –

+0

@MarissaNicholas siehe bearbeiten – Valentun

Verwandte Themen