如何用风格的maxLines有效地替换singleLine?

时间:2017-06-22 04:46:16

标签: android android-styles android-singleline

我的风格如下

<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已按Alternative of singleLine attribute (Deprecated) TextInputEditText弃用。它被假设替换为

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

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

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

1 个答案:

答案 0 :(得分:0)

我知道我可以做到以下

<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覆盖到父层次结构中的任何数字。

在这里发表我的答案,但希望能有更好的答案。