看完这篇,你就算精通TextView了
2018-12-15 本文已影响665人
天哥在奔跑
什么是 TextView ?
TextView 是 Android 里用来显示文本的控件,可以这么说,能用 Button 的地方都能用 TextView ,因为 Button 是继承自 TextView 。
如何使用 TextView ?
首先我们看一下 TextView 的基本使用,例如,给 TextView 设置宽高、设置文字、设置颜色、设置字体大小、设置粗体。
在布局文件中直接设置
我们可以在画页面布局的时候,在xml文件中直接设置相关的属性:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="天哥在奔跑"
android:textColor="#000000"
android:textSize="24sp"
android:textStyle="bold"/>
</LinearLayout>
属性 | 值 | 说明 |
---|---|---|
id | @+id/tv_1 | 设定一个id标识 |
layout_width | wrap_content | 宽度:包裹内容 |
layout_height | wrap_content | 高度:包裹内容 |
text | 天哥在奔跑 | TextView显示的文字 |
textColor | #000000 | TextView的文字颜色:黑色 |
textSize | 24sp | 文字大小,注意单位是sp |
textStyle | bold | 文字风格:粗体 |
这里宽度和高度的值设置的是 wrap_content ,标示文字的内容有多少,宽度就是多少,不会比文字还宽,高度同理。当然,这个值还可以是 match_parent ,表示匹配父控件,跟文字多少无关。也可以是一个具体值,比如100dp,则是固定了TextView的宽度。
我们通过下面这个图直观感受一下
layout_width
textSize 的单位要注意一下,我们这里用的是 sp ,使用 sp 作为字体的单位,这样能够根据不同屏幕分辨率自适应,如果写成 px 的画,则达不到这种效果。这里要说明一下,通常是使用 sp 作为字体单位的,不代表其他单位不可以使用,实际开发中也有情况我们是使用 px 或者 dp 作为单位的,根据具体的需求场景来确定。
在Java代码中设置
有的时候我们需要动态设置相关的属性,不能在xml文件中写死,这时候可以通过Java代码来设置:
//设置文字
textView.setText("天哥在奔跑");
//设置文字颜色
textView.setTextColor(ActivityCompat.getColor(this,R.color.colorBlack));
//设置文字大小
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP,24);
//设置加粗
TextPaint tp = textView.getPaint();
tp.setFakeBoldText(true);
除了给 TextView 设置一些属性,我们还可以给 TextView 设置点击事件:
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//点击之后执行的代码写在这里
}
});
上面这些是最基本的用法,不过在项目开发中,我们会遇到各种形态的需求,这些是远远不够应对的,我们通过10个实际需求来学习一下,请接着往下看。