TextView 控件属性:
| id | 设置一个组件id,通过findViewById()的方法获取到该对象,然后进行相关设置 | 
|---|---|
| layout_width | 组件宽度 | 
| layout_height | 组件高度 | 
| text | 设置文本内容 | 
| background | 背景颜色(或背景图片) | 
| textColor | 设置字体颜色 | 
| textStyle | 设置字体样式 | 
| textSize | 字体大小 | 
| gravity | 内容的对齐方向 | 
| autoLink | autoLink 的属性可以将符合指定格式的文本转换为可单击的超链接形式 | 
| drawableTop | TextView上部出现一个图片 | 
layout_width 和 layout_height
layout_width 和 layout_height 属性设置:
- wrap_content:空间的大小根据里面的内容大小而定,内容越小,则空间越小
 - match_parent:空间大小填满整个父容器
 - fill_parent:作用效果同 match_parent
 
text
text:将字符串放到 values 文件夹的 strings.xml 文件下
然后在 activity_main.xml 中使用 @string/ 来引用, 指在 string 中定义的 name
<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:autoLink="email"android:text="@string/test" />
textColor
textColor:字体颜色,字体颜色在 colors.xml 文件中定义:
activity_main.xml 中,使用 @color/* 进行调用:
textSize
textSize:设置字体大小
设置大小的单位(字体,也包括控件大小)
- dp:设备独立像素,不同设备有不同的显示效果,这个和设备硬件有关,不依赖像素
 - px:像素,在不同设备显示的效果相同
 - pt:标准的长度单位,简单易用,单位换算 1pt=1/72 英寸
 - sp:用于字体显示
 
textStyle
textStyle:文本样式
- normal:无任何效果,常规
 - bold:加粗
 - italic:字体倾斜
 
gravity
gravity:设置对齐方式
- center:居中对齐,位于容器横向和纵向中央
 - left:向左对齐,位于容器左边
 - right:向右对齐,位于容器右边
 - bottom:向底对齐,位于容器底部
 - top:向顶对齐,位于容器顶部
 - center_vertical:位置置于容器的纵向中央部分
 - center_horizontal:位置置于容器的横向中央部分
 - fill_vertical:纵向延伸填满容器
 - fill_horizontal:横向延伸填满容器
 - fiil:纵向和横向延伸填满容器
 
支持上述的值进行叠加定位,使用“|”运算符,如 right|top
background
background:背景颜色或图片,如 
shadow
shadow:文字阴影效果
| shadowColor | 设置阴影颜色,可以在 colors.xml 中预设 | 
|---|---|
| shadowRadius | 设置阴影模糊程度,数值越大,阴影越模糊 | 
| shadowDx | 设置阴影在水平方向的偏移,数值越大,阴影越向右移动 | 
| shadowDy | 设置阴影在竖直方向的偏移,数值越大,阴影越向右移动 | 

autoLink
autoLink:链接类型
- none:默认值,不进行任何匹配
 - web:匹配web url,即超链接,如 https://www.baidu.com,单击会跳转到浏览器
 - email:匹配邮件地址,如 xxx@xx.com,单击会跳转到邮件处理软件
 - phone:匹配电话号码,点击号码会跳转到拨号界面
 - map:匹配地图地址
 - all:表示将会匹配web、email、phone、map所有类型
 
android:textColorLink 可以修改链接字体的颜色
drawbleTop、drawableLeft、drawableRight、drawableBottom
- drawbleTop:在TextView的上方放置一个 drawable(如图片)
 - drawableLeft:在TextView的左边放置一个 drawable(如图片)
 - drawableRight:在TextView的右边放置一个 drawable(如图片)
 - drawableBottom:在TextView的下方放置一个 drawable(如图片)
 

android:drawablePadding:设置 text 与 drawable(图片等) 的间隔,一般都与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用
ellipsize
android:ellipsize:当文字过长时,控制该控件如何使用
1、start:省略号在开头,即显示最后面的文字,前面省略
2、end:省略号显示在结尾,即显示最前面文字,后面省略
3、middle:省略号显示在中间,显示开头和结尾文字,中间省略
4、marquee:以动画横向移动的方式显示,一直是动态的滚播形式
- 该属性必须与 android:marqueeRepeatLimit 配合使用
 - android:marqueeRepeatLimit:在 ellipsize 指定 marquee 的情况下,设置重复滚动的次数,当设置为marquee_forever 时表示无限次
 
文字跑马灯效果
在 activity_main.xml 中设置:
- android:ellipsize:设置为 marquee,滚动
 - android:marqueeRepeatLimit:在 ellipsize 指定 marquee 的情况下,设置重复滚动的次数,当设置为marquee_forever 时表示无限次
 - android:singleLine=”true”:TextView单行显示不换行
<TextViewandroid:id="@+id/main_tv_test"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="这是一段特别长的文字,长到一次不能完全显示"android:singleLine="true"android:ellipsize="marquee"android:marqueeRepeatLimit="marquee_forever"android:scrollHorizontally="true"android:focusable="true"android:gravity="center"android:focusableInTouchMode="true"android:textSize="30sp" />
 
在 MainActivity.java 中写入如下代码:
public class MainActivity extends AppCompatActivity {TextView mTv = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();setView();}private void setView() {// 点击事件mTv.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// 点击逻辑mTv.setText("被点击了!~~~~~~~~~~~~~");}});// 长按事件mTv.setOnLongClickListener(new View.OnLongClickListener() {@Overridepublic boolean onLongClick(View v) {mTv.setText("被长按了,呜呜呜呜。。。。。。。。");return false;}});}private void initView() {// 通过id获取控件mTv = findViewById(R.id.main_tv_test);mTv.setSelected(true);}}
