zoukankan      html  css  js  c++  java
  • 我的Android进阶之旅------>android Button上面的英文字符串自己主动大写的问题解决

               今天碰到一个关于Button的问题:android Button上面的英文字符串会自己主动变成大写,执行的Android 5.1版本号,例如以下图所看到的:

    图1:Button

    图2:TextView


    这个Button的定义代码例如以下

      <Button
                android:id="@+id/addContacts"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/contactList_addContact" />
    TextView的定义代码例如以下

     <TextView
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_margin="10dp"
            android:layout_weight="1"
            android:gravity="center"
            android:text="@string/contactList_addContact"
            android:textSize="24sp" />

    引用同一个字符串contactList_addContact。字符串内容例如以下:

    <string name="contactList_addContact">Add</string>

    可是Button显示出来就是ADD。而TextView显示出来就是Add。之前还真的没遇到过。郁闷。并且其它的Button都是显示正常,例如以下所看到的:

    这两个按钮定义代码例如以下:

    <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_margin="10dp"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="horizontal" >
    
            <Button
                android:id="@+id/btn_cancel"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:gravity="center"
                android:text="@string/btn_cancel"
                android:textColor="@color/black" />
    
            <Button
                android:id="@+id/btn_save"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:gravity="center"
                android:text="@string/btn_save"
                android:textColor="@color/black" />
        </LinearLayout>

    所引用的字符串为:

     <string name="btn_cancel">Cancel</string>
     <string name="btn_save">Save</string>
    


        好吧。以上就是问题的内容。至于为什么会有这个问题我预计是Android 5.1的SDK把Button的默认Style改了,样式默认把textAllCaps设置为true了,也没有去细致研究。查看系统选代码:frameworks/base/core/res/res/values/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>


    能够发现真的是把textAllCaps属性设置为true了。


        以下来说说怎么解决问题。

    仅仅须要在Add按钮的定义中加上一个  android:textAllCaps="false"属性就可以,该属性是用来设置是否使用大写字母来呈现文本。


    即把代码改成例如以下:

      <Button
                android:id="@+id/addContacts"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textAllCaps="false"
                android:text="@string/contactList_addContact" />

    好吧,这样就攻克了,改完后的效果图例如以下:


           


             ====================================================================================

      作者:欧阳鹏  欢迎转载,与人分享是进步的源泉!

      转载请保留原文地址http://blog.csdn.net/ouyang_peng

    ====================================================================================


  • 相关阅读:
    Rotate to Attend: Convolutional Triplet Attention Module
    论文阅读:《Automatic Change Detection in Synthetic Aperture Radar Images Based on PCANet》
    论文阅读:Change Detection From Synthetic Aperture Radar Images Based on Channel Weighting-Based Deep Cascade Network
    第二次作业:卷积神经网络 part 2
    CGAN和DCGAN
    GAN
    About me
    极大似然估计与贝叶斯估计
    支持向量机(一)
    非参数估计——Parzen窗与k近邻估计
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/6912342.html
Copyright © 2011-2022 走看看