棒棒糖资本化按钮'我的应用中的文字

时间:2015-01-12 00:46:56

标签: android android-layout android-emulator android-5.0-lollipop android-button

我在使用我的应用程序时遇到了一个奇怪的问题。当我在真实设备(使用Android 4.4.4)上测试它时,我所有的按钮都是文本字段看起来我想要的(小写字母)。但是当我在模拟器(Android 5.0.1)上启动我的应用程序时,所有Button文本字段都是大写的。这种行为的原因是什么?我的应用程序中的一些示例按钮:

示例按钮1:

    <Button
        android:id="@+id/button5"
        android:layout_width="match_parent"
        style="?android:attr/borderlessButtonStyle"
        android:layout_height="wrap_content"
        android:text="@string/finish"
        android:textColor="#FFFFFF"
        android:textSize="30sp"
     />

示例按钮2:

    <Button
        android:id="@+id/button3"
        android:layout_width="0dp"
        style="?android:attr/borderlessButtonStyle"
        android:layout_height="wrap_content"
        android:text="@string/flower"
        android:textColor="#FFFFFF"
        android:textSize="30sp"
        android:drawableLeft="@drawable/flower"
        android:layout_weight=".75"
        />

这个问题的解决方案是什么?我希望我的应用程序在所有sw版本中看起来都一样。

2 个答案:

答案 0 :(得分:19)

从Android 5.0开始,Button会自动将其文字大写。这符合新的材料设计指南,您可以找到here

如果要强制按钮显示文本,就像在以前的平台版本中一样,可以在XML中设置android:textAllCaps="false"。但是,我建议不要这样做。用户希望他们的应用看起来像Android Lollipop中的材料,这意味着他们希望您的按钮以全部大写字母显示文本(即使您的应用在以前的平台版本中以不同方式显示文本)。

答案 1 :(得分:2)

实际上这是可能的:

xcopy /?

StackedAlertDialogStyle:

new AlertDialog.Builder(context, R.style.StackedAlertDialogStyle)

现在你可以看到按钮不是大写。