Android 控件 - TextView

1、TextView

https://www.bilibili.com/video/BV13y4y1E7pF?p=3

1.1、layout_width、layout_height

match_parent:表示让当前控件的大小和父布局的大小一样,也就是由父布局来决定当前控件的大小
wrap_content:表示让当前的控件大小能够刚好包含里面的内容,也就是由控件内容决定当前控件的大小
数值:比如 200dp 写固定大小

<TextViewandroid:layout_width="200dp"android:layout_height="200dp" />

1.2、id

给控件设置id,方便其他代码获取这个控件

<TextViewandroid:id="@+id/tv_one"android:layout_width="200dp"android:layout_height="200dp" />

获取id为 tv_one的 TextView

TextView tv_one = findViewById(R.id.tv_one);
tv_one.setText("blake");

1.3、text

给TextView设置内容,但是如果java代码修改了这个内容,则java代码修改的优先

<TextViewandroid:id="@+id/tv_one"android:text="test01"android:layout_width="200dp"android:layout_height="200dp" />
TextView tv_one = findViewById(R.id.tv_one);
tv_one.setText("blake");

在这里插入图片描述

1.4、textColor

设置颜色

<TextViewandroid:id="@+id/tv_one"android:text="test01"android:textColor="#F60606"android:layout_width="200dp"android:layout_height="200dp" />

1.5、textStyle

设置字体风格:
normal 无效果
bold 加粗
italic 斜体

<TextViewandroid:id="@+id/tv_one"android:layout_width="200dp"android:layout_height="200dp"android:text="test01"android:textColor="#F60606"android:textStyle="bold" />

1.6、textSize

字体大小,单位一般用sp

<TextViewandroid:id="@+id/tv_one"android:layout_width="200dp"android:layout_height="200dp"android:text="test01"android:textColor="#F60606"android:textSize="30sp"android:textStyle="bold" />

1.7、background

控件背景颜色,可以理解为填充整个控件的颜色,可以是图片

<TextViewandroid:id="@+id/tv_one"android:layout_width="200dp"android:layout_height="200dp"android:text="test01"android:textColor="#F60606"android:textSize="30sp"android:background="#DFA4A4"android:textStyle="bold" />

在这里插入图片描述

1.7、gravity

设置控件中内容的对齐方向
有top、bottom、left、right、center_vertical、center_horizontal…
可以按住ctrl 然后鼠标点击 gravity 查看更多支持

<TextViewandroid:id="@+id/tv_one"android:layout_width="200dp"android:layout_height="200dp"android:text="test01"android:textColor="#F60606"android:textSize="30sp"android:background="#DFA4A4"android:gravity="center"android:textStyle="bold" />

在这里插入图片描述

2、TextView 的text 和 颜色 的正规写法

在实际开发中不会把 直接 写 android:text=“test01”、android:textColor=“#F60606”、android:background=“#DFA4A4”
会在
color.xml和strings.xml中配置好了直接引用
在这里插入图片描述
color.xml
我只添加了red,其他都是默认的

<?xml version="1.0" encoding="utf-8"?>
<resources><color name="purple_200">#FFBB86FC</color><color name="purple_500">#FF6200EE</color><color name="purple_700">#FF3700B3</color><color name="teal_200">#FF03DAC5</color><color name="teal_700">#FF018786</color><color name="black">#FF000000</color><color name="white">#FFFFFFFF</color><color name="red">#FFFF0000</color>
</resources>

strings.xml
我只添加了tv_one

<resources><string name="app_name">Demo01</string><string name="tv_one">tv_one_王.blake</string>
</resources>

引用

<TextViewandroid:id="@+id/tv_one"android:layout_width="200dp"android:layout_height="200dp"android:text="@string/tv_one"android:textColor="@color/red"android:textSize="30sp"android:background="@color/black"android:gravity="center"android:textStyle="bold" />

3、带阴影的TextView

https://www.bilibili.com/video/BV13y4y1E7pF?p=4

  • android:shadowColor: 设置阴影颜色,需要与shadowRadius一起使用
  • android:shadowRadius:设置阴影的模糊程度,设置为0.1就变成了字体颜色了,建议使用3.0
  • android:shadowDx:设置阴影在水平方向的偏移,就是水平方向阴影开始的横坐标位置
  • android:shadowDy:设置阴影在竖直方向的偏移,就是竖直方向阴影开始的纵坐标位置
<TextViewandroid:id="@+id/tv_one"android:layout_width="200dp"android:layout_height="200dp"android:gravity="center"android:shadowColor="@color/red"android:shadowDx="10.0"android:shadowDy="10.0"android:shadowRadius="3.0"android:text="@string/tv_one"android:textColor="@color/black"android:textSize="30sp"android:textStyle="bold" />

在这里插入图片描述

4、实现跑马灯效果的TextView

https://www.bilibili.com/video/BV13y4y1E7pF?p=5
就是循环展示一行 string

  • android:singleLine:内容单行显示
  • android:focusable:是否可以获取焦点
  • android:focusableInTouchMode:用于控制视图在触摸模式下是否可以聚焦
  • android:ellipsize:在哪里省略文本
  • android:marqueeRepeatLimit:字幕动画重复的次数

默认是不会跑起来的,有三种方法可以让他跑起来(我用的模拟器自动就能跑起来。。。)
1、android:clickable:可以点击
设置android:clickable=“true”,点击一下能开始跑

<TextViewandroid:id="@+id/tv_one"android:layout_width="match_parent"android:layout_height="200dp"android:gravity="center"android:shadowColor="@color/red"android:shadowDx="10.0"android:shadowDy="10.0"android:shadowRadius="3.0"android:singleLine="true"android:focusable="true"android:focusableInTouchMode="true"android:ellipsize="marquee"android:marqueeRepeatLimit="marquee_forever"android:clickable="true"android:text="@string/tv_one"android:textColor="@color/black"android:textSize="30sp"android:textStyle="bold" />

2、自定义一个TextView

让 isFocused 返回 true

package com.example.demo01;import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;import androidx.annotation.Nullable;public class MyTextView extends TextView {public MyTextView(Context context) {super(context);}public MyTextView(Context context, @Nullable AttributeSet attrs) {super(context, attrs);}public MyTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);}@Overridepublic boolean isFocused() {return true;}
}
<com.example.demo01.MyTextViewandroid:id="@+id/tv_one"android:layout_width="match_parent"android:layout_height="200dp"android:gravity="center"android:shadowColor="@color/red"android:shadowDx="10.0"android:shadowDy="10.0"android:shadowRadius="3.0"android:singleLine="true"android:focusable="true"android:focusableInTouchMode="true"android:ellipsize="marquee"android:marqueeRepeatLimit="marquee_forever"android:text="@string/tv_one"android:textColor="@color/black"android:textSize="30sp"android:textStyle="bold" />

3、加一个 requestFocus

<TextViewandroid:id="@+id/tv_one"android:layout_width="match_parent"android:layout_height="200dp"android:gravity="center"android:shadowColor="@color/red"android:shadowDx="10.0"android:shadowDy="10.0"android:shadowRadius="3.0"android:singleLine="true"android:focusable="true"android:focusableInTouchMode="true"android:ellipsize="marquee"android:marqueeRepeatLimit="marquee_forever"android:text="@string/tv_one"android:textColor="@color/black"android:textSize="30sp"android:textStyle="bold"><requestFocus/></TextView>

https://www.bilibili.com/video/BV13y4y1E7pF?p=3
https://www.bilibili.com/video/BV13y4y1E7pF?p=4
https://www.bilibili.com/video/BV13y4y1E7pF?p=5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/518121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么选择Cassandra

cassandra概况 为什么选择Cassandra&#xff1f;cassandra到底有那些令人印象深刻的特点呢&#xff1f;不防我们先来看下cassandra目前的大体概况。 理论扎实&#xff0c;师出名门 cassandra不仅吸收了dynamo论文中的如何做分布式&#xff0c;如何做副本复制&#xff0c;故障…

加速开放混合云技术开发,满足客户新需求,红帽打出这套组合拳!

云计算发展有几十年的历史了&#xff0c;随着科技的进步和发展&#xff0c;云技术慢慢渗透到各行各业&#xff0c;企业上云也不再是新鲜事&#xff0c;据《2020-2026年中国云计算行业市场分析预测及战略咨询研究报告》数据显示&#xff1a;2018年&#xff0c;以IaaS、PaaS和Saa…

系统性能提升利刃 | 缓存技术使用的实践与思考

导读 按照现在流行的互联网分层架构模型&#xff0c;最简单的架构当属Web响应层DB存储层的架构。从最开始的单机混合部署Web和DB&#xff0c;到后来将二者拆分到不同物理机以避免共享机器硬件带来的性能瓶颈&#xff0c;再随着流量的增长&#xff0c;Web应用变为集群部署模式&…

Android 控件 - Button

1、Button 1.1、新建 mybutton 模块 在原有项目基础上新建 mybutton项目 1.2、Button基础 在源码中Button继承TextView&#xff0c;所以TextView有的功能Button基本都有&#xff0c;重复功能不在赘述 1.2.1 设置button背景颜色 当使用background不起作用时&#xff0c…

通过SQL即可让监控分析更简单更高效

1.前言 阿里时序时空数据库TSDB最新推出TSQL&#xff0c;支持标准SQL的语法和函数。用户使用熟悉的SQL&#xff0c;不仅仅查询更简单易用&#xff0c;用户还可以利用SQL强大的功能&#xff0c;实现更加复杂的计算分析。 2. 为什么需要用SQL做时序查询&#xff1f; 2.1 SQL拥…

深度好文 | 战“疫”上云正当时:打开云计算的正确姿势

作者 | 马超责编 | Carol封图 | CSDN 付费下载于视觉中国4月29日&#xff0c;谷歌的母公司Alphabet正式发布了2020年第一季度财报&#xff0c;报告显示&#xff0c;Alphabet比去年同期的363.39亿美元增长13%&#xff0c;不计入汇率变动的影响为同比增长15%&#xff1b;在业绩公…

Windows批处理文件(.bat文件和.cmd文件)简单使用

cmd文件和bat文件的区别&#xff0c;从文件描述中的区别是&#xff0c;cmd文件叫做&#xff1a;Windows命令脚本&#xff0c;bat文件叫&#xff1a;批处理文件&#xff0c;两者都可以使用任意一款文本编辑器进行创建、编辑和修改&#xff0c;只是在cmd中支持的命令要多于bat。 …

AnalyticDB for MySQL:PB级云数仓核心技术和场景解析

2019阿里云峰会上海开发者大会于7月24日盛大开幕&#xff0c;本次峰会与未来世界的开发者们分享开源大数据、IT基础设施云化、数据库、云原生、物联网等领域的技术干货&#xff0c;共同探讨前沿科技趋势。本文整理自数据库专场中阿里云智能高级技术专家南仙的精彩演讲&#xff…

UML科普文,一篇文章掌握14种UML图

来源 | 如逆水行舟责编 | Carol封图 | CSDN 付费下载于视觉中国什么是UML&#xff1f;UML是Unified Model Language的缩写&#xff0c;中文是统一建模语言&#xff0c;是由一整套图表组成的标准化建模语言。为什么要用UML&#xff1f;通过使用UML使得在软件开发之前&#xff0c…

企业级数据库新型研发模式——数据管理DMS实践

2019阿里云峰会上海开发者大会于7月24日盛大开幕&#xff0c;本次峰会与未来世界的开发者们分享开源大数据、IT基础设施云化、数据库、云原生、物联网等领域的技术干货&#xff0c;共同探讨前沿科技趋势。本文整理自数据库专场中阿里云智能技术专家王天振 (为知)的精彩演讲&…

linux-centos7环境搭建

1、下载centos7 官网地址&#xff1a; http://isoredirect.centos.org/centos/7/isos/x86_64/ 阿里云&#xff1a; http://mirrors.aliyun.com/centos/ 以下针对各个版本的ISO镜像文件&#xff0c;进行一一说明&#xff1a; CentOS-7-x86_64-DVD-1708.iso 标准安装版&#x…

揭秘!机器人和你对话时在想什么?

阿里妹导读&#xff1a;为什么聊天机器人越来越普及&#xff1f;聊天机器人不仅可以节省时间&#xff0c;提升效率&#xff0c;还能一天24小时提供服务&#xff0c;更是可以减少误差。聊天机器人背后的问题原理是什么&#xff1f;效率如何提升&#xff1f;就是今天我们要了解的…

阿里云与A站在一起后,悄悄干了件大事

八月盛夏&#xff0c;“AcFun弹幕视频网站”&#xff08;简称“A站”&#xff09;的视频服务器全面迁移上阿里云&#xff08;此处应有掌声&#xff09;&#xff01; A站去年与阿里云达成此项合作。在迁移过程中&#xff0c;阿里云提供专业技术解决方案团队&#xff0c;为A站建立…

科大讯飞营收破百亿,员工涨薪27%,羡慕这个AI“老大哥”​了!

科大讯飞&#xff0c;中国AI公司“老大哥”&#xff0c;交出2019年成绩单。营收达到100.79亿&#xff0c;首次破百亿&#xff1b;净利润同比增长51.12%&#xff0c;达到8.19亿&#xff0c;日均盈利224万元&#xff0c;创下历史最佳业绩。与此同时&#xff0c;5大厂2020年应届生…

Knative Serving 之路由管理和 Ingress

Knative 默认会为每一个 Service 生成一个域名&#xff0c;并且 Istio Gateway 要根据域名判断当前的请求应该转发给哪个 Knative Service。Knative 默认使用的主域名是 example.com&#xff0c;这个域名是不能作为线上服务的。本文我首先介绍一下如何修改 默认主域名&#xff…

linux-centos7 关机命令、系统目录结构介绍

1、关机命令 关机指令 shutdown; sync # 将数据由内存同步到硬盘中&#xff0c;一般关机前需要同步一下&#xff0c;防止数据丢失shutdown # 关机指令&#xff0c;会在一定时间后关机&#xff0c;我试的是一分钟后关机shutdown -h 10 # 十分钟后关机 shutdown -h 10 # 十分…

SprinBoot2.X 集成 Flowable6.6 工作流引擎

上一篇&#xff1a;SpringBoot2.x Flowable 6.4.2 开源项目 码云开源地址&#xff1a;https://gitee.com/lwj/flow GitHub开源地址&#xff1a;https://github.com/ecnice/flow flowable学习 可以入群&#xff1a;633168411 说明:此项目是我师傅为了帮助更多小伙伴们入门工作流…

OceanBase高可用实践

背景 高可用是构建分布式系统的基石。一方面&#xff0c;出于成本考虑&#xff0c; 分布式系统往往采取比较廉价的硬件&#xff0c;其可靠性相对于小型机、专有硬件有很大的不足&#xff0c; 而分布式系统的规模一般比较大&#xff0c;假如硬件的可靠性只有三个9(99.9%)&#…

咦,拆分个字符串都这么讲究?

来源 | 沉默王二封图 | CSDN 付费下载于视觉中国提到拆分字符串&#xff0c;我猜你十有八九会撂下一句狠话&#xff0c;“这有什么难的&#xff0c;直接上 String 类的 split() 方法不就拉到了&#xff01;”假如你真的这么觉得&#xff0c;那可要注意了&#xff0c;事情远没这…

linux-centos7 常用的基本命令--目录管理、基本属性

一、目录管理 1、cd &#xff08;切换目录&#xff09; cd 路径 &#xff1a;切换路径命令&#xff0c;路径可以是绝对路径&#xff0c;也可以是相对路径 ./ : 当前目录 返回上级目录&#xff1a; cd … 返回用户目录&#xff1a; cd ~ 2、ls&#xff08;列出目录&#xff…