JCD*_*ary 1 android android-layout android-constraintlayout
嗨,我正在尝试查看时间表。如果用户设置为显示 24 小时或不显示,则开放时间的格式会发生变化。有一天商店关门了。字符串 Closed 是动态的,它每天都可能发生,来自 VM.days.get(X).time
我想将关闭时间与小时左侧对齐。
这是我的 ConstraintLayout
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/base_space">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/small_space"
android:text="@{VM.title}"
android:textStyle="bold"
tools:text="Heures de la semaine" />
<android.support.constraint.Barrier
android:id="@+id/barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="start"
app:constraint_referenced_ids="first_time,second_time,third_time,fourth_time,fifth_time,sixth_time" />
<TextView
android:id="@+id/first_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{VM.days.get(0).day}"
android:textColor="@{VM.days.get(0).highlight ? @color/red : @color/gray}"
app:isBold="@{VM.days.get(0).isBold}"
app:layout_constraintTop_toBottomOf="@id/title"
tools:text="Sunday" />
<TextView
android:id="@+id/first_time"
app:layout_constraintLeft_toLeftOf="@+id/barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{VM.days.get(0).time}"
android:textColor="@{VM.days.get(0).highlight ? @color/red : @color/gray}"
app:isBold="@{VM.days.get(0).isBold}"
app:layout_constraintBottom_toBottomOf="@+id/first_day"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/barrier"
app:layout_constraintTop_toTopOf="@+id/first_day"
tools:text="8:30 AM - 9:00 PM" />
<TextView
android:id="@+id/second_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{VM.days.get(1).day}"
android:textColor="@{VM.days.get(1).highlight ? @color/red : @color/gray}"
app:isBold="@{VM.days.get(1).isBold}"
app:layout_constraintTop_toBottomOf="@id/first_day"
tools:text="Monday" />
<TextView
android:id="@+id/second_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{VM.days.get(1).time}"
android:textColor="@{VM.days.get(1).highlight ? @color/red : @color/gray}"
app:isBold="@{VM.days.get(1).isBold}"
app:layout_constraintBottom_toBottomOf="@+id/second_day"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintLeft_toLeftOf="@+id/barrier"
app:layout_constraintStart_toStartOf="@+id/barrier"
app:layout_constraintTop_toTopOf="@+id/second_day"
tools:text="Closed" />
<TextView
android:id="@+id/third_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{VM.days.get(2).day}"
android:textColor="@{VM.days.get(2).highlight ? @color/red : @color/gray}"
app:isBold="@{VM.days.get(2).isBold}"
app:layout_constraintTop_toBottomOf="@id/second_day"
tools:text="Tuesday" />
<TextView
android:id="@+id/third_time"
app:layout_constraintLeft_toLeftOf="@+id/barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{VM.days.get(2).time}"
android:textColor="@{VM.days.get(2).highlight ? @color/red : @color/gray}"
app:isBold="@{VM.days.get(2).isBold}"
app:layout_constraintBottom_toBottomOf="@+id/third_day"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/barrier"
app:layout_constraintTop_toTopOf="@+id/third_day"
tools:text="8:00 - 21:00" />
<TextView
android:id="@+id/fourth_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{VM.days.get(3).day}"
android:textColor="@{VM.days.get(3).highlight ? @color/red : @color/gray}"
app:isBold="@{VM.days.get(3).isBold}"
app:layout_constraintTop_toBottomOf="@id/third_day"
tools:text="Wednesday" />
<TextView
android:id="@+id/fourth_time"
app:layout_constraintLeft_toLeftOf="@+id/barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{VM.days.get(3).time}"
android:textColor="@{VM.days.get(3).highlight ? @color/red : @color/gray}"
app:isBold="@{VM.days.get(3).isBold}"
app:layout_constraintBottom_toBottomOf="@+id/fourth_day"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/barrier"
app:layout_constraintTop_toTopOf="@+id/fourth_day"
tools:text="8:00 - 21:00" />
<TextView
android:id="@+id/fifth_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{VM.days.get(4).day}"
android:textColor="@{VM.days.get(4).highlight ? @color/red : @color/gray}"
app:isBold="@{VM.days.get(4).isBold}"
app:layout_constraintTop_toBottomOf="@id/fourth_day"
tools:text="Thursday" />
<TextView
android:id="@+id/fifth_time"
app:layout_constraintLeft_toLeftOf="@+id/barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{VM.days.get(4).time}"
android:textColor="@{VM.days.get(4).highlight ? @color/red : @color/gray}"
app:isBold="@{VM.days.get(4).isBold}"
app:layout_constraintBottom_toBottomOf="@+id/fifth_day"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/barrier"
app:layout_constraintTop_toTopOf="@+id/fifth_day"
tools:text="8:00 - 21:00" />
<TextView
android:id="@+id/sixth_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{VM.days.get(5).day}"
android:textColor="@{VM.days.get(5).highlight ? @color/red : @color/gray}"
app:isBold="@{VM.days.get(5).isBold}"
app:layout_constraintTop_toBottomOf="@id/fifth_day"
tools:text="Friday" />
<TextView
android:id="@+id/sixth_time"
app:layout_constraintLeft_toLeftOf="@+id/barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{VM.days.get(5).time}"
android:textColor="@{VM.days.get(5).highlight ? @color/red : @color/gray}"
app:isBold="@{VM.days.get(5).isBold}"
app:layout_constraintBottom_toBottomOf="@+id/sixth_day"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/barrier"
app:layout_constraintTop_toTopOf="@+id/sixth_day"
tools:text="8:00 - 21:00" />
<TextView
android:id="@+id/seventh_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{VM.days.get(6).day}"
android:textColor="@{VM.days.get(6).highlight ? @color/red : @color/gray}"
app:isBold="@{VM.days.get(6).isBold}"
app:layout_constraintTop_toBottomOf="@id/sixth_day"
tools:text="Saturday" />
<TextView
android:id="@+id/seventh_time"
app:layout_constraintLeft_toLeftOf="@+id/barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{VM.days.get(6).time}"
android:textColor="@{VM.days.get(6).highlight ? @color/red : @color/gray}"
app:isBold="@{VM.days.get(6).isBold}"
app:layout_constraintBottom_toBottomOf="@+id/seventh_day"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/barrier"
app:layout_constraintTop_toTopOf="@+id/seventh_day"
tools:text="8:00 - 21:00" />
</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)
我尝试将所有 timeUI 宽度设置为 0dp 并从屏障开始到父级。但如果 UI 一直有这些约束,它们就会消失
您还可以使用Barrier。
使用Barrier
,您可以对齐 Start <-> Barrier <-> End,然后在屏障中放置要与屏障对齐的视图的所有 id,然后将 的方向设置Barrier
为start
所有这些视图的id意见:
<androidx.constraintlayout.widget.Barrier
android:id="@+id/barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="end"
app:constraint_referenced_ids="textView1,textView2,..." />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1068 次 |
最近记录: |