我尝试在TextView之后创建一个在底部对齐的简单线条。我使用RelativeLayout作为带有alignBaseLine的容器。但结果不是我需要的(见下图)与对齐两个TextView不同,当我对齐TextView和View时,它从底部到顶部不对齐。它从View到top的顶部开始。有什么方法可以实现这个目标吗?
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tvTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Brand We Love"
android:textAllCaps="true"
android:textColor="@color/colorAccent"
android:textSize="18sp" />
<View
android:layout_width="match_parent"
android:layout_height="3dp"
android:layout_alignBaseline="@id/tvTitle"
android:layout_gravity="bottom"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_toEndOf="@+id/tvTitle"
android:layout_toRightOf="@+id/tvTitle"
android:background="@color/colorAccent" />
</RelativeLayout>
答案 0 :(得分:0)
鉴于android:layout_alignBaseline
会将View
定位在基线的正下方,您可以使用此约束将不可见的View
置于其中作为指导,然后定位View
1}}高于指南:
<TextView
android:id="@+id/tvTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Brand We Love"
android:textAllCaps="true"
android:textColor="@color/colorAccent"
android:textSize="18sp" />
<View
android:id="@+id/guideline"
android:layout_width="match_parent"
android:layout_height="3dp"
android:layout_alignBaseline="@id/tvTitle"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_toEndOf="@+id/tvTitle"
android:layout_toRightOf="@+id/tvTitle"
android:background="#00000000" />
<View
android:layout_width="match_parent"
android:layout_height="3dp"
android:layout_above="@+id/guideline"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_toEndOf="@+id/tvTitle"
android:layout_toRightOf="@+id/tvTitle"
android:background="@color/colorAccent" />
答案 1 :(得分:0)
对于ConstraintLayout
,将基线设置为底部并统一基线。
简而言之-只需将这些行添加到您的View
:
android:baselineAlignBottom="true"
app:layout_constraintBaseline_toBaselineOf="@id/textView"