我嘗試使用下面的代碼設計如下佈局如何以編程方式在約束佈局中添加視圖?
<android.support.constraint.ConstraintLayout
android:id="@+id/before_breakfast_option"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/diabetes_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:text="water"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textColor="@color/black"
app:layout_constraintBaseline_toBaselineOf="@+id/toogle_diabeties"
app:layout_constraintLeft_toLeftOf="parent"/>
<TextView
android:textColor="@color/black"
android:text="almonds"
app:layout_constraintTop_toTopOf="parent"
android:id="@+id/toogle_diabeties"
app:layout_constraintRight_toRightOf="parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</android.support.constraint.ConstraintLayout>
:
var textView= TextView([email protected])
textView.id=100
textView.text="water"
textView.background=ContextCompat.getDrawable([email protected],R.drawable.rectangle_diet)
textView.setTextColor(ContextCompat.getColor([email protected],R.color.black))
var textView1= TextView([email protected])
textView1.id=101
textView1.text="almonds"
textView1.background=ContextCompat.getDrawable([email protected],R.drawable.rectangle_diet)
textView1.setTextColor(ContextCompat.getColor([email protected],R.color.black))
var constraintset= ConstraintSet()
constraintset.clone(before_breakfast_option)
//left to left of
constraintset.connect(textView.id,ConstraintSet.LEFT,ConstraintSet.PARENT_ID,ConstraintSet.LEFT,0)
//baseline
constraintset.connect(textView.id,ConstraintSet.BASELINE,textView1.id,ConstraintSet.BASELINE,0)
//right to right of
constraintset.connect(textView1.id,ConstraintSet.RIGHT,ConstraintSet.PARENT_ID,ConstraintSet.RIGHT,0)
//top to top of
constraintset.connect(textView1.id,ConstraintSet.TOP,ConstraintSet.PARENT_ID,ConstraintSet.TOP,0)
constraintset.applyTo(before_breakfast_option)
before_breakfast_option.addView(textView)
before_breakfast_option.addView(textView1)
但XML代碼是給我有兩個TextView的一個佈局是一個左側,一個是一個右側,但kotlin代碼給我兩個textview重疊在左側。爲什麼?
什麼是錯誤的?任何主角?
添加到這兩個TextView的 –
我加入左重力的TextView和向右textview1但沒有任何反應@TerrilThomas –
layout_gravity而佈局重心不只是重力 –