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
<TextView
android: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单行显示不换行
<TextView
android: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;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
setView();
}
private void setView() {
// 点击事件
mTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 点击逻辑
mTv.setText("被点击了!~~~~~~~~~~~~~");
}
});
// 长按事件
mTv.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
mTv.setText("被长按了,呜呜呜呜。。。。。。。。");
return false;
}
});
}
private void initView() {
// 通过id获取控件
mTv = findViewById(R.id.main_tv_test);
mTv.setSelected(true);
}
}