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

它写一些按钮文本。这个应用程序使用Android 2.3和Android正确地编写文本 4.0. 即混合大写字母和小写字母。

当同一个应用程序在我的Nexus 9上运行时,所有的字母 正文均大写。

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

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

我可以在我的代码中修复这个问题,还是操作系统中的一个bug 谢谢


当前回答

默认情况下,按钮在android提供所有大写关键字。如果你想按钮文本是小写或混合大小写,你可以禁用textAllCaps标志使用android:textAllCaps="false"

其他回答

我不知道为什么会发生这种情况,但有3个微不足道的尝试:

在layout-v21中使用android:textAllCaps="false" 以编程方式更改按钮的转换方法。mButton.setTransformationMethod(空); 检查全大写的样式

注意:公共无效setAllCaps(boolean allCaps), android:textAllCaps从API版本14可用。

棒棒糖默认带有“textAllCaps true”,所以你必须手动将其设置为false

在Android Studio IDE中,你必须点击Filter图标来显示专家属性。然后您将看到textAllCaps属性。勾选,然后取消勾选。

使用android.support. widget。XML布局中的AppCompatButton将允许您避免使用layout-21或通过编程更改任何内容。当然,这也将与AppCompat v7库一起工作。

<android.support.v7.widget.AppCompatButton
    android:id="@+id/btnOpenMainDemo"
    android:textAllCaps="false"
    style="@style/HGButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/btn_main_demo"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"/>

希望这能有所帮助。

这在应用程序代码中是可以通过设置按钮的TransformationMethod来修复的。

mButton.setTransformationMethod(null);