如果不是做多语言切换,也行你也不会注意到这个问题,Android Button上面的英文字符串会自动变成大写:
KING---------------------------------------------------------------------------------------------------------------------------------------------King
是Android 5.1的SDK中Button的默认Style样式默认把textAllCaps设置为true的原因。查看系统选代码:frameworks/base/core/res/resalues/styles_material.xml的第233行,代码如下:
<style name="TextAppearance.Material.Button">
<item name="textSize">@dimen/text_size_button_material</item>
<item name="fontFamily">@string/font_family_button_material</item>
<item name="textAllCaps">true</item>
<item name="textColor">?attr/textColorPrimary</item>
</style>
看到上面的代码我们就知道什么原因了:
<Button
android:id="@+id/bt_order_itme_yes"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginStart="20dp"
android:background="@drawable/bg_blue_corner"
android:layout_height="30dp"
android:textAllCaps="false"
android:focusable="false"
android:gravity="center"
android:text="@string/pay"
android:textColor="@color/colorWhite"
android:textSize="14sp" />
一行代码的解决方式:
android:textAllCaps="false"