0

我是约束布局的新手,很难弄清楚如何以编程方式创建它。如何以编程方式创建约束布局

这里是我的XML代码吧:

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

例如什么是

app:layout_constraintDimensionRatio, app:layout_constraintLeft_toLeftOf, 
app:layout_constraintRight_toLeftOf, app:layout_constraintTop_toBottomOf, 
app:layout_constraintBottom_toTopOf, etc 
+1

你不把它转换成Java代码....你到底做。 – DroiDev

+0

我试图以编程方式添加约束布局 –

回答

1

代码等价物可以通过编程类似于创建约束布局您创建的任何其他布局。 另外,您可以使用ConstraintSet以编程方式设置约束。

你的情况:

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

你可以解释一下我的代码,将有助于理解 –

+0

@MarissaNicholas看编辑 – Valentun

相关问题