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 文件下
image.png
然后在 activity_main.xml 中使用 @string/ 来引用, 指在 string 中定义的 name

  1. <TextView
  2. android:layout_width="wrap_content"
  3. android:layout_height="wrap_content"
  4. android:autoLink="email"
  5. android:text="@string/test" />

textColor

textColor:字体颜色,字体颜色在 colors.xml 文件中定义:
image.png
activity_main.xml 中,使用 @color/* 进行调用:
image.png

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:背景颜色或图片,如
image.png

shadow

shadow:文字阴影效果

shadowColor 设置阴影颜色,可以在 colors.xml 中预设
shadowRadius 设置阴影模糊程度,数值越大,阴影越模糊
shadowDx 设置阴影在水平方向的偏移,数值越大,阴影越向右移动
shadowDy 设置阴影在竖直方向的偏移,数值越大,阴影越向右移动

image.png

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(如图片)

image.png
android:drawablePadding:设置 text 与 drawable(图片等) 的间隔,一般都与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用

ellipsize

android:ellipsize:当文字过长时,控制该控件如何使用
1、start:省略号在开头,即显示最后面的文字,前面省略
image.png
2、end:省略号显示在结尾,即显示最前面文字,后面省略
image.png
3、middle:省略号显示在中间,显示开头和结尾文字,中间省略
image.png
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单行显示不换行
    1. <TextView
    2. android:id="@+id/main_tv_test"
    3. android:layout_width="wrap_content"
    4. android:layout_height="wrap_content"
    5. android:text="这是一段特别长的文字,长到一次不能完全显示"
    6. android:singleLine="true"
    7. android:ellipsize="marquee"
    8. android:marqueeRepeatLimit="marquee_forever"
    9. android:scrollHorizontally="true"
    10. android:focusable="true"
    11. android:gravity="center"
    12. android:focusableInTouchMode="true"
    13. android:textSize="30sp" />

在 MainActivity.java 中写入如下代码:

  1. public class MainActivity extends AppCompatActivity {
  2. TextView mTv = null;
  3. @Override
  4. protected void onCreate(Bundle savedInstanceState) {
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.activity_main);
  7. initView();
  8. setView();
  9. }
  10. private void setView() {
  11. // 点击事件
  12. mTv.setOnClickListener(new View.OnClickListener() {
  13. @Override
  14. public void onClick(View v) {
  15. // 点击逻辑
  16. mTv.setText("被点击了!~~~~~~~~~~~~~");
  17. }
  18. });
  19. // 长按事件
  20. mTv.setOnLongClickListener(new View.OnLongClickListener() {
  21. @Override
  22. public boolean onLongClick(View v) {
  23. mTv.setText("被长按了,呜呜呜呜。。。。。。。。");
  24. return false;
  25. }
  26. });
  27. }
  28. private void initView() {
  29. // 通过id获取控件
  30. mTv = findViewById(R.id.main_tv_test);
  31. mTv.setSelected(true);
  32. }
  33. }