我尝试使用下面的代码设计如下布局如何以编程方式在约束布局中添加视图?
<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而布局重心不只是重力 –