为什么我的Button文本被迫在Lollipop上全部大写?

我最近在我的应用“ Tide Now WA”中使用新的Nexus 9平板电脑(Lollipop-API 21)测试了兼容性。


它写入一些按钮文本。此应用使用Android 2.3和Android 4.0正确写入文本。即混合使用大写和小写字母。


在Nexus 9上运行相同的应用程序时,文本中的所有字母均大写。


FWIW我的清单包含以下语句:


uses-sdk android:minSdkVersion="10" android:targetSdkVersion="14"


我可以在代码中解决此问题,还是操作系统中的错误?


MYYA
浏览 322回答 3
3回答

慕运维8079593

我不知道为什么会这样,但是有3次尝试:用android:textAllCaps="false"在你的layout-v21以编程方式更改按钮的转换方法。 mButton.setTransformationMethod(null);检查您的Allcaps风格注:public void setAllCaps(boolean allCaps),android:textAllCaps都可以从API版本14。

达令说

这是我在values / themes.xml中所做的&nbsp; &nbsp; <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">&nbsp; &nbsp; &nbsp; &nbsp; <item name="buttonStyle">@style/MyButton</item>&nbsp; &nbsp; </style>&nbsp; &nbsp; <style name="MyButton" parent="Widget.AppCompat.Button">&nbsp; &nbsp; &nbsp; &nbsp; <item name="android:textAllCaps">false</item>&nbsp; &nbsp; </style>

浮云间

这可以通过设置按钮的TransformationMethod在应用程序代码中修复,例如mButton.setTransformationMethod(null);
打开App,查看更多内容
随时随地看视频慕课网APP