热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

androidbutton字母自动变大写原因以及属性总结

最近在写例子的时候,发现写一个button的时候,定义text属性为字母的时候,字母自动变大写了,而使用textView的时候却没有这种情况,所以研究和总结下;效果如下:1.解决办法

最近在写例子的时候,发现写一个button的时候,定义text属性为字母的时候,字母自动变大写了,而使用textView 的时候却没有这种情况,所以研究和总结下;效果如下:

这里写图片描述


1.解决办法

设置 textAllCaps 为false 就可以了,如上图;


2.原因分析

首先我看了下我这个例子的编译项目的版本,项目版本为5.0

这里写图片描述

继续查看button 的源代码,使用的21 widget里面的button 属性

这里写图片描述


因为这个样式点不进去,所以网上查了资料,发现和版本有关,于是创建了一个4.4编译的项目版本

这里写图片描述

定义了xml 里面的button 属性 ,19的模拟器查看发现字母并没有大写,

这里写图片描述

继续查看源代码,引用的是4.4(19版本)的widget,
这里写图片描述

自此原因很明了是,是5.0以后button 的默认属性 textAllCaps 被改为true 了


3.原因总结

查看系统选代码:frameworks/base/core/res/res/values/styles_material.xml的第236行,代码如下:

这里写图片描述

可以发现真的是把textAllCaps属性设置为true了。


4.附录TextView属性大全

因为 button 是继承 TextView 的,所以贴上 TextView 的属性

android:autoLink 是否自动链接网址或邮箱地址;
android:autoText 自动检测错误;
android:bufferType 决定getText()返回的类型
android:capitalize 指定使用类型
android:cursorVisible 光标是否可见
android:digits 数字输入
android:drawableBottom 内容显示在文字的下边
android:drawableEnd 内容显示在文字的结尾
android:drawableLeft 内容显示在文字的左边
android:drawablePadding 内容和文字之间的空隙
android:drawableRight 内容显示在文字的右边
android:drawableStart 内容显示在文字的开始
android:drawableTop 内容显示在文字的上边
android:editable 编辑功能,能够使用输入法
android:editorExtras 编辑功能扩展,用户设置
android:ellipsize 椭圆区域的显示方式
android:ems 可以在更多系统上运行
android:fontFamily 字体风格
android:freezesText 冻结在光标位置
android:gravity 文字小于显示范围时,x和y轴方向的调整
android:height 文字像素高度
android:hint 文本空白时的提示语
android:imeActionId 激活输入法ID序号
android:imeActionLabel 激活输入法符号
android:imeOptions 输入法操作
android:includeFontPadding 足够空间容纳字体显示
android:inputMethod 指定输入法
android:inputType 选择输入法
android:lineSpacingExtra 额外的文字间距
android:lineSpacingMultiplier 额外的文字间距,乘数
android:lines 多行显示
android:linksClickable 点击链接
android:marqueeRepeatLimit 跑马灯重复限制
android:maxEms 最大系统兼容
android:maxHeight 最大文本高度
android:maxLength 最大文本长度
android:maxLines 最大文本行数
android:maxWidth 最大文本长度
android:minEms 最小系统兼容
android:minHeight 最小文本高度
android:minLines 最小文本行数
android:minWidth 最小文本宽度
android:numeric 支持数字输入
android:password 文本作为密码
android:phoneNumber 支持电话号码输入
android:privateImeOptions 私人输入操作
android:selectAllOnFocus 点击全部选中
android:shadowColor 阴影颜色
android:shadowDx 阴影水平偏移
android:shadowDy 阴影垂直偏移
android:shadowRadius 阴影半径
android:singleLine 单行显示
android:text 显示文本
android:textAllCaps 文本全部大写
android:textAppearance 基本的文字颜色,字体,大小,风格
android:textColor 文本颜色
android:textColorHighlight 文本高亮颜色
android:textColorHint 文本提示颜色
android:textColorLink 链接文本颜色
android:textIsSelectable 文本能够被选中
android:textScaleX 水平缩放参数
android:textSize 文本大小
android:textStyle 文本风格
android:typeface 文本字体
android:width 文本宽度


5.参考资料

1.(Google)TextView属性大全(API-16)


推荐阅读
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 本文比较了eBPF和WebAssembly作为云原生VM的特点和应用领域。eBPF作为运行在Linux内核中的轻量级代码执行沙箱,适用于网络或安全相关的任务;而WebAssembly作为图灵完备的语言,在商业应用中具有优势。同时,介绍了WebAssembly在Linux内核中运行的尝试以及基于LLVM的云原生WebAssembly编译器WasmEdge Runtime的案例,展示了WebAssembly作为原生应用程序的潜力。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
author-avatar
黑山一般人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有