我有一个自定义TextAppearance
的TextView
,它可以更改行之间的空间:
<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
值在应用程序启动时被忽略。(尽管如果我使用CustomAppearance
到style
而不是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>