lineSpacingExtra 在 TextView 上不起作用



我有一个自定义TextAppearanceTextView,它可以更改行之间的空间:

<style name="CustomAppearance">
<item name="android:lineSpacingExtra">30sp</item>
</style>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lorem ipsum lorem ipsum lorem ipsum lorem ipsum..."
android:textAppearance="@style/CustomAppearance" />

问题是lineSpacingExtra值在应用程序启动时被忽略。(尽管如果我使用CustomAppearancestyle而不是textAppearance属性,则它有效(

它不起作用,因为TextAppearance:中不支持lineSpacingExtra

一些常见的TextView属性不包括lineHeight〔Multiplier|Extra〕,lines,breakStrategy&连字符频率。TextAppearance在字符级别工作,而不是在段落级别工作,因此不支持影响整个布局的属性。文本视图样式由Nick Butcher

对我来说,解决方案是使用MaterialTextView和lineHeight属性:

<com.google.android.material.textview.MaterialTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lorem ipsum lorem ipsum lorem ipsum lorem ipsum..."
android:textAppearance="@style/CustomAppearance" />
<style name="CustomAppearance">
<item name="lineHeight">30sp</item>
</style>

最新更新