TextView显示一行或多行文本,也能显示html。在Android开发中,TextView是最常用的组件之一,基本上每天都会使用。

1、设置格式

<TextViewandroid:id="@+id/textView3" //TextView的idandroid:layout_width="wrap_content" //宽度自适应android:layout_height="wrap_content" //高度自适应android:layout_weight="0"  //比重android:text="talk is cheap show me the code" //显示的文本内容android:textColor="#fff" //字体颜色android:background="#000" //背景颜色android:textSize="20dp" //字体大小
/>

2、在程序中动态赋值

这里可以是字符串,也可以是字符串资源id

public class MainActivity extends AppCompatActivity {private  TextView text3;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);linearLayout = findViewById(R.id.linear);text3 = findViewById(R.id.textView3);text3.setText("动态赋值");}
}

3、实现多字符串的动态处理

(1)在strings.xml文件中写上字符串    %1$d是第一个整型,%2$d是第二个整型,%3$s是第三个字符串

<string name="texting">这是一个数:%1$d,这是两位数:%2$d,这是三位数:%3$s</string>

(2)在java代码中设置值

text3.setText(getString(R.string.texting,new Integer[]{11,21,31}));//3、实现多字符串动态处理

4、TextView显示html,字体颜色为红色

不支持html标签的style属性

String html = "<font color='red'>TextView显示html字体颜色为红色</font><br/>";
text3.setText(Html.fromHtml(html));

5、给TextView设置点击事件

text3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "点击了TextView", Toast.LENGTH_SHORT).show();}});

Toast.makeText的第一个参数是在哪个活动中触发,第二个参数是显示的信息,第三个参数是显示时间的长短。

6、给TextView文字加粗并设置阴影效果

字体阴影需要4个相关参数:

android:shadowColor:阴影的颜色

android:shadowDx:水平方向上的偏移量

android:shadowDy:垂直方向上的偏移量

android:shadowRadius:阴影半径的大小

<TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="0"android:text="@string/texting"android:textColor="@color/textcolor"android:background="#000"android:textSize="@dimen/textsize"android:shadowColor="#000"android:shadowDx="1"android:shadowDy="1"android:shadowRadius="1"/>

7、TextView显示文字加图片

设置图片相关的属性主要有以下几个:

drawableBottom:在文本框内文本的底部绘制指定图像

drawableLeft:在文本框内文本的左边绘制指定图像

drawableRight:在文本框内文本的右边绘制指定图像

drawableTop:在文本框内文本的顶端绘制指定图像

drawablePadding:设置文本框内文本与图像之间的间距

<TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="0"android:text="@string/texting"android:textColor="@color/textcolor"android:textSize="@dimen/textsize"android:drawableLeft="@mipmap/name"android:drawablePadding="10dp"/>

8、TextView的样式类Span的使用

首先新建一个SpannableString对象,构造方法中传入要现实的内容,调用SpannableString的setSpan方法实现字符串各种风格的显示。setSpan方法有四个参数。参数1表示格式,可以是前景色、背景色等,我们这里用的是背景色。参数2设置格式的开始index。参数3结束index。参数4是一个常量,有以下四个值:

Spannable.SPAN_INCLUSIVE_EXCLUSIVE:前面包括,后面不包括,即在文本前插入新的文本会应用该样式,而在文本后插入新文本不会应用该样式。

Spannable.SPAN_INCLUSIVE_INCLUSIVE:前面包括,后面包括,即在文本前插入新的文本会应用该样式,而在文本后插入新文本也会应用该样式。

Spannable.SPAN_EXCLUSIVE_EXCLUSIVE:前面不包括,后面不包括。

Spannable.SPAN_EXCLUSIVE_INCLUSIVE:前面不包括,后面包括。

SpannableString ss = new SpannableString("TextView的样式类span的使用详解");
BackgroundColorSpan bcs = new BackgroundColorSpan(Color.RED);
ss.setSpan(bcs,0,10, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
text3.setText(ss);

9、TextView设置点击事件Spannable

除了给TextView设置背景颜色外,还可以给TextView中某一段文字设置点击效果,调用SpannableString.setSpan方法时第一次参数传入ClickableSpan格式。使用ClickableSpan时,再点击连接时凡是有要执行的动作,必须要给TextView设置MovementMethod对象。

        SpannableString spannableClickString = new SpannableString("TextView设置点击事件Span");ClickableSpan clickableSpan = new ClickableSpan() {@Overridepublic void onClick(View widget) {Toast.makeText(MainActivity.this,"TextView设置点击事件Span",Toast.LENGTH_LONG).show();}};spannableClickString.setSpan(clickableSpan,11,15, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);text3.setMovementMethod(LinkMovementMethod.getInstance());text3.setText(spannableClickString);

10、TextView设置点击背景

(1)新建一个selector_textview.xml文件,放到drawable目录下

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><!--不能直接写颜色,要引用colors.xml里的资源--><item android:drawable="@color/red" android:state_focused="true"></item><item android:drawable="@color/yellow" android:state_pressed="true"></item><item android:drawable="@color/green" ></item>
</selector>

(2)在TextView的xml布局中设置背景

android:background="@drawable/selector_textview"

(3)设置点击事件

text3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this,"点击了TextView3",Toast.LENGTH_LONG).show();}});

11、跑马灯效果

当一行文本的内容太多,导致无法全部显示,也不想分行演示时,可以让文本从左到右滚动显示,类似跑马灯。

    <TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="0"android:text="这是一个数:%1$d,这是两位数:%2$d,这是三位数:%3$s  对酒当歌,人生几何!譬如朝露,去日苦多。
慨当以慷,忧思难忘。何以解忧?唯有杜康。"android:textColor="@color/textcolor"android:textSize="@dimen/textsize"android:ellipsize="marquee"android:marqueeRepeatLimit="marquee_forever"android:scrollHorizontally="true"android:focusable="true"android:focusableInTouchMode="true"android:singleLine="true"/>

android:ellipsize="marquee"  //设置跑马灯效果
            android:marqueeRepeatLimit="marquee_forever"  //循环次数,1代表循环一次,marquee_forever代表无限循环
            android:scrollHorizontally="true"  //超出文本TextView宽度时,是否出现横拉条(我也不懂)
            android:focusable="true"  //是否获取焦点
            android:focusableInTouchMode="true"  //在触摸模式下获得焦点
            android:singleLine="true"  //单行显示

TextView (android Studio)相关推荐

  1. coba mysql_在Android Studio中将数据从MySQL数据库显示到TextView中-问答-阿里云开发者社区-阿里云...

    我是新手,Android Studio我想将数据库(我使用MySQL)中的数据显示到中TextView.我也使用Button和RadioButton.单击按钮后,数据将显示在中TextView.这是我 ...

  2. Android Studio --- [学习笔记]Button、TextView、EditText

    说明 源代码 为了更全面的了解RN,先熟悉一下Android开发 第1章 Android 初体验 1.1 Android开发概述 Android是Google开发的操作系统 Android开发是移动应 ...

  3. android studio输入框下划线,Android开发之TextView的下划线添加

    Android开发之TextView高级应用 Android开发之TextView高级应用 我们平时使用TextView往往让它作为一个显示文字的容器,但TextView的功能并不局限于此.以下就和大 ...

  4. Android studio | From Zero To One ——TextView实现跑马灯效果及聊天室、文字直播间

    ================================================ 博主github:https://github.com/MichaelBeechan 博主CSDN:h ...

  5. android view 存值,在android studio中保存textview和复选框的值

    问:如何在android studio中保存文本视图和复选框的值,以便稍后我进入该活动时以及在设置新值然后保持新值时可见设置的数据. 答:SharedPreferences用于在Android中存储原 ...

  6. android百度api配置,Android Studio 配置使用百度api (附带简单样例)(示例代码)

    还是和同学开发的那个课程作业项目的app, 要使用到百度地图的api 但是,官方文档貌似只有Eclipse的例子,对Android Studio似乎没有说明.  难道,是因为后者是 "Doo ...

  7. NDK JNI Android Studio开发与调试DEMO(三)(生成 .so 文件)

    Android Studio NDK 开发与调试(生成 .so 文件) 温馨提示:如果你的 Android Studio 版本在 3.0以上 , 建议你用 cMake /ndk-build 的新姿势进 ...

  8. Android studio安装与调试

    1.下载安装android studio 下载好之后安装好 2.启动报错提示 1)进入刚安装的Android Studio目录下的bin目录.找到idea.properties文件,用文本编辑器打开. ...

  9. android dimensions.xml,[Android Studio #2] 操作資源XML檔

    利用Android Studio產生出第一個程式後,點擊Project按鈕觀察專案的目錄結構,再研究資源檔的使用方法,同時在第一個程式畫面裡增加另一個文字元件. Android Studio的專案目錄 ...

最新文章

  1. Openstack执行任何操作都反馈是HTTP401解决办法
  2. 【Windows 逆向】CheatEngine 工具 ( CheatEngine 简介 | 使用 Lazarus 编译 CE 源码 | CheatEngine 相关文档资料 )
  3. JavaScript全局函数
  4. OpenCV+yolov3实现目标检测(C++,Python)
  5. Linux基础命令---cpio
  6. C语言试题四十九之只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。 n 给出了字符串的长度,h字符串中前导*号的个数,e给出了字符串中最后的*个数
  7. Python 画图常用点的形状,Matplotlib 设置参数marker的值 - o + - ★☆►◁ - 够用
  8. oracle数据表空间与数据文件,oracle 操作表空间和数据文件
  9. MongoDB插入文档
  10. HDU 1565 方格取数(简单状态压缩DP)
  11. Javascript:简单的表单验证更改样式
  12. acdsee pro3 安装序列号
  13. k3刷梅林5g信号不稳定_刷了好几个K3的 OpenWrt包,总感觉网络不正常,终于找到原... - 一与博客...
  14. 【转】江枫:在ubuntu10.04上安装oracle 10g(学习一下)
  15. Ubuntu下安装日语输入法
  16. 2015伦敦深度学习峰会笔记:来自DeepMind、Clarifai等大神的分享
  17. ZYNQ 或ZYNQ Ultrascale PS/PL交互
  18. 计算机专业的论文的格式,计算机专业毕业论文格式范例
  19. matlab中图线颜色大全
  20. 如何用SQL语句模糊查询数据库中的表名

热门文章

  1. 【状语从句练习题】综合训练
  2. 深度学习和神经网络的介绍
  3. UE4模型轮廓描边及轮廓发光
  4. 我是一个集技术和购物返利的机器人
  5. 6月22日!苹果WWDC大会,全球免费参加-首次在线举行!
  6. UniAPP-Android原生插件开发与打包
  7. html网页开发入门
  8. openssl自签名ca证书,以及签发服务端/客户端证书
  9. qtcreator 界面样式_Qt Creator 黑色主题配置
  10. grep同时过滤多个条件