高斋晓开卷,独共圣人语。这篇文章主要讲述我的Android进阶之旅------&
gt;
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>
文章图片
【我的Android进阶之旅------& gt; android Button上面的英文字符串自己主动大写的问题解决】能够发现真的是把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
====================================================================================
文章图片
推荐阅读
- SpringMVC学习——SpringMVC高级参数绑定与@RequestMapping注解
- 为了方便h5页面在app上调试看到打印的日志重写window.console
- 如何修复PHPMyAdmin错误(Incorrect format parameter(格式参数不正确))
- 如何创建自定义SVG图标系统(使用FontAwesome、Linearicons等)
- 如何使用Rembg机器学习去除图片的背景()
- 10个最佳Android相册和图库选择器库合集
- 7个最佳创建优雅代码截图的在线工具合集
- 5个最佳免费GeoIP数据库合集(哪个最好())
- 5个最佳开源日期范围选择器合集介绍