【问题标题】:Stop ToggleButton text Capitalization at API 10在 API 10 处停止 ToggleButton 文本大写
【发布时间】:2014-12-18 21:08:56
【问题描述】:

我想阻止我的 ToggleButton 的文本在 API 10 中被大写。

我知道我可以使用setAllCap(false) 来停止 Toggle Button 的 Cap lock,但是我如何在 API 级别 10 上做同样的事情,因为 setAllCap(false) 仅在 API 级别 14 上受支持,即冰淇淋三明治.

ps。如果有人想知道我为什么要这样做。 (我知道我应该只问一个问题,但这可能会帮助其他人解决其他问题)

我试图通过使用TableLayout 和第一行作为切换按钮来模拟片段内的选项卡,并在切换这些按钮时更改第二行。 (FragmentTabHost 目前我认为只是有问题,而且对于我的用例来说太复杂了)。除了按钮文本始终为大写之外,一切正常。

【问题讨论】:

    标签: android android-tabs android-togglebutton


    【解决方案1】:

    您可以调用ToggleButton.setTextOn()ToggleButton.setTextOff() 并提供您自己的字符串。从ToggleButton 的实现中我可以看出,它不会自动大写以这种方式设置的字符串。

    【讨论】:

    • 嗨@idunnololz 我知道强制用户使用大写文本没有意义,但我尝试将onText 设置为offText、Text 甚至setTextKeepStates。它们都不起作用,总是大写字母。也许这是 API 21 的一个缺点,它强制大写,除非 setAllCap(false) 另有指定。我正在使用 API 21 btw 上的 Android。谢谢你的回答。
    【解决方案2】:

    我不确定您是否使用最新的支持库。您可以使用AllCapsTransformationMethodCompat.java 并像这样应用 setAllCaps(false):

    AllCapsTransformationMethodCompat.setAllCaps(textViewInstance, true); - 全部大写

    AllCapsTransformationMethodCompat.setAllCaps(textViewInstance, text, false); - 保留原文

    在 21.0+ 支持库中,此 MethodTransformation 的反向端口完全相同

    【讨论】:

    • 您好 Nikola,非常感谢您的回答。这是我目前在我的 Gradle 构建中使用的:'com.android.support:support-v4:21.0.3' 我认为这可能是一个很好的解决方案,如果结果很好,会回复你!
    猜你喜欢
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多