如何在样式上有效地用 maxLines 替换 singleLine?

How to effectively replace singleLine with maxLines in style?

我有如下风格

<style name="PennyTextSingleLine">
    <item name="android:textSize">@dimen/text_size_penny</item>
    <item name="android:textColor">@color/color_default</item>
    <item name="android:singleLine">true</item>
</style>

后来我有了另一种风格,除了不是单行外,其他都是一样的。所以我写

<style name="PennyTextMultiLine" parent="PennyTextSingleLine">
    <item name="android:singleLine">false</item>
</style>

这很有用。

但是,据我们所知,根据 已弃用 singleLine。它应该被替换为

<item name="android:maxLines">1</item>

我该如何解决上述问题(例如,用 maxLines 表示以下内容的任何方式)?

<item name="android:singleLine">false</item>

我知道我可以做到以下几点

<style name="PennyTextSingleLine" parent="PennyTextMultiLine">
    <item name="android:maxLines">1</item>
</style>

<style name="PennyTextMultiLine" >
    <item name="android:textSize">@dimen/text_size_penny</item>
    <item name="android:textColor">@color/color_default</item>
</style>

但是,这将涉及对我现有代码的过多搜索以交换层次关系。我想知道是否有 1-1 我们可以将 maxlines=1 覆盖到父层次结构中的任何数字。

Post 我的答案在这里,但希望有更好的答案。