在我的应用“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 谢谢


当前回答

在<Button>标签中添加android:textAllCaps="false"。

其他回答

使用这行android:textAllCaps="false"在你的xml

<Button
            android:id="@+id/btn_login"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/login_str"
            android:background="@color/colorBlue"
            android:textColor="@color/colorWhite"
            android:textAllCaps="false"
           />

如果你已经到达这里,因为你的facebook按钮文本出现在所有的大写,然后只需添加这个android:textAllCaps="false"在你的xml文件。这对我很管用。

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

Java:

yourButton.setAllCaps(false);

科特林:

yourButton.isAllCaps = false

XML:

android:textAllCaps="false"

风格:

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="buttonStyle">@style/yourButtonStyle</item>
    </style>

    <style name="yourButtonStyle" parent="Widget.AppCompat.Button">
        <item name="android:textAllCaps">false</item>
    </style>

在布局:

   <Button
      .
      .
      style="@style/yourButtonStyle"
      .
      .
   />

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

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

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