【发布时间】:2017-10-15 19:21:38
【问题描述】:
我正在尝试在 Android 中创建一个项目符号列表,其中项目符号与 TextView 中第一行的垂直中心对齐,如下所示:
单个项目符号/文本行的 XML 是这样的:
<android.support.constraint.ConstraintLayout
android:id="@+id/setup_intro_bullet_first_container"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/setup_intro_bullet_first"
style="@style/TextAppearance.AppCompat.Headline"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/bullet"
android:textColor="@color/colorAccent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/setup_intro_bullet_first_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:paddingTop="14dp"
android:text="@string/setup_intro_benefit_notification"
android:textColor="@android:color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@id/setup_intro_bullet_first"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
这里我在 TextView 上使用填充来与项目符号对齐,但这不是解决方案,因为对齐在其他分辨率中不一致。我也尝试将项目符号字符放在文本字符串本身中,但第二行文本将位于项目符号下方,这不是我想要的。我想就如何做到这一点提出一些建议。
【问题讨论】:
-
second line of text will sit under the bullet是什么意思? -
我会使用 compound drawable,它将与文本分开。如果有意义的话,它有点像“TextView 中的 ImageView”。
-
我不认为复合可绘制对象在这种情况下有效,因为如果文本包裹到多行,它将在整个视图中垂直居中,并且听起来像是 OP 希望它始终与文本顶行的中心对齐。
-
最好让它始终垂直居中。
-
@AshishRanjan 我的意思是如果文本换行到第二行,第二行的文本将直接在点下开始,这是我不想要的。在屏幕截图中,您可以看到第二行不是从点开始,而是与第一行文本对齐。
标签: android android-layout android-constraintlayout