当前位置: 首页 > news >正文

Android TextView的属性与用法

文本控件包括TextView、EditText、AutoCompleteTextView、CheckedTextView、MultiAutoCompleteTextView、TextInputLayout等,其中TextView、EditText是最基本最重要的文本控件,是必须要掌握的文本控件。

1.TextView

TextView控件用于显示文本信息,新建工程中默认生成的"Hello World!"就是一个TextView。如图1所示,“手机号”、“昵称”等都是TextView控件。

图1 TextView示意图

新建工程后,默认打开的activity_main.xml文件的Design页面中,选中TextView,即可在右侧的Attributes窗口看到TextView的属性,如图2所示。单击如图3所示Code按钮,即可看到activity_main.xml文件的代码,图3红色框中代码即是TextView已声明的属性,与图2中的Declared Attributes一一对应。

图2 activity_main.xml文件的Design页面

图3 activity_main.xml文件的Code页面

开发者可以修改Design页面Attributes窗口中属性的值来改变TextView的静态显示,也可以直接修改Code页面的代码来改变TextView的静态显示。若需要动态修改TextView的属性则需要在Java代码中通过调用属性对应的方法来修改。在Java代码中操作TextView需要先通过id找到该控件,使用findViewById()方法。

图4 Attributes窗口设置id

例如通过Java程序将TextView显示的文本修改为“Hello Android!”,首先在Attributes窗口或XML代码中将该TextView的id设置为“textViewHello”,如图4所示。然后在程序里使用findViewById()方法找到该id,最后使用text属性对应的Setter方法——setText()设置需要显示的文本,代码如下。

TextView textViewHello = findViewById(R.id.textViewHello);
textViewHello.setText("Hello Android!");

滚动Attributes窗口可以查看TextView支持的属性名称及当前值或默认值。如图5所示,当前TextView的Text当前值为“Hello World!”,textAppearance默认值为“@android:style/TextAppearance.Material.Small”。

图5 Attributes当前值和默认值

常用的TextView属性及其对应的功能和方法如表3-1所示,这些属性都可以在Attributes窗口或XML代码中进行设置。

表1 TextView的常用属性

属性名

作用

方法名

android:id

设置 TextView控件的唯一标识

void setId(int id)

android:background

设置TextView控件的背景

void setBackground(Drawable background)

android:text

设置文本内容

void setText(CharSequence text)

android:textColor

设置文字显示的颜色

void setTextColor(int color)

android:textSize

设置文字大小,推荐单位为sp

void setTextSize(float size)

android:textStyle

设置文本样式,如bold(粗体),italic(斜体),normal(正常)

void setTypeface(@Nullable Typeface tf)

相关文章:

  • 初阶数据结构二叉树练习系列(1)
  • 文件操作及部分文件函数的介绍学习(上)
  • 每天一个数据分析题(三百九十九)- 逻辑回归
  • servlet职称评审系统-计算机毕业设计源码00122
  • 精通SQL Server端口管理:添加与删除监听端口的指南
  • Pycharm的终端(Terminal)中切换到当前项目所在的虚拟环境
  • 入门PHP就来我这(纯干货)08
  • 【工具分享】SQLmap
  • 【pytorch12】什么是梯度
  • 基于SpringBoot的就业信息管理系统
  • MySQL调优
  • 紧急应对!六氟化硫泄漏报警处理全攻略
  • LMT加仿真,十一届大唐杯全国总决赛
  • C语言 do while 循环语句练习 中
  • Docker 容器连接
  • 【React系列】如何构建React应用程序
  • 4个实用的微服务测试策略
  • Cumulo 的 ClojureScript 模块已经成型
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • PHP CLI应用的调试原理
  • Python3爬取英雄联盟英雄皮肤大图
  • springMvc学习笔记(2)
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • SQLServer插入数据
  • vue.js框架原理浅析
  • vuex 笔记整理
  • Zepto.js源码学习之二
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 当SetTimeout遇到了字符串
  • 写代码的正确姿势
  • 终端用户监控:真实用户监控还是模拟监控?
  • Semaphore
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • #Linux(权限管理)
  • (ZT)薛涌:谈贫说富
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (一)RocketMQ初步认识
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)创业的注意事项
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .net core 连接数据库,通过数据库生成Modell
  • .net/c# memcached 获取所有缓存键(keys)
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .NET多线程执行函数
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @基于大模型的旅游路线推荐方案
  • @软考考生,这份软考高分攻略你须知道